OVH Cloud OVH Cloud

ecrire un serveur en PHP.

9 réponses
Avatar
Etienne SOBOLE
salut

Est ce que quelqu'un a déja essayé d'ecrire un serveur en PHP (un script qui
tourne tout le temps et ecoute sur un port) ?
C'est une bonne idée ou c'est pas trop fait pour ca le php?

merci de vos avis !
Etienne

9 réponses

Avatar
Michel Billaud
Etienne SOBOLE writes:

salut

Est ce que quelqu'un a déja essayé d'ecrire un serveur en PHP (un script qui
tourne tout le temps et ecoute sur un port) ?


Plus simple, un script php lancé par le super-serveur inetd. Ca vous
évite d'avoir à tremper dans la programmation des sockets. Et une
nouvelle instance est lancée pour traiter chaque requête, ce qui évite
radicalement les fuites mémoires emmerdantes dans la programmation des
demons.


C'est une bonne idée ou c'est pas trop fait pour ca le php?


C'est une bonne idée pour une certaine catégorie d'applications dans
certains contextes, et une moins bonne autrement, comme toujours.

Si les performances ne sont pas vraiment critiques, et que le
programmeur connait bien PHP et pas un autre langage qui serait plus
adapté (à voir selon domaine d'application) pourquoi pas ?

MB
--
Michel BILLAUD
LABRI-Université Bordeaux I tel 05 4000 6922 / 05 5684 5792
351, cours de la Libération http://www.labri.fr/~billaud
33405 Talence (FRANCE)

Avatar
Etienne SOBOLE
Plus simple, un script php lancé par le super-serveur inetd. Ca vous
évite d'avoir à tremper dans la programmation des sockets. Et une
nouvelle instance est lancée pour traiter chaque requête, ce qui évite
radicalement les fuites mémoires emmerdantes dans la programmation des
demons.


Non ca c'est pas possible.
J'ai justement besoin d'avoir des connexion persistantes !!!
c'est le but du serveur :

C'est une bonne idée pour une certaine catégorie d'applications dans
certains contextes, et une moins bonne autrement, comme toujours.


yeap.
merci!
t'as deja codé un serveur en PHP? c'est surtout ca la question !

merci, a+
Etienne

Avatar
Bobe
Etienne SOBOLE nous a dit le 23.08.2006 12:02:
t'as deja codé un serveur en PHP? c'est surtout ca la question !



Sinon, il y a nanoweb :
http://nanoweb.si.kz/

--
Aurélien Maille

Avatar
CrazyCat
t'as deja codé un serveur en PHP? c'est surtout ca la question !


A mon avis, ce n'est guère possible, le PHP n'étant pas vraiment capable
de tourner en daemon.
Pour ma part, je m'orienterais plutôt vers un langage de type perl ou
python qui ne sont pas forcémment très éloignés du PHP et qui sont
beaucoup plus adaptés.

--
Astuces pour webmasters: http://www.crazycat.info
Tchat francophone: http://www.crazy-irc.net

Avatar
bobe
A mon avis, ce n'est guère possible, le PHP n'étant pas vraiment capable
de tourner en daemon.


Peux-tu développer ?

Avatar
Jean-Charles Gibier
t'as deja codé un serveur en PHP? c'est surtout ca la question !


A mon avis, ce n'est guère possible, le PHP n'étant pas vraiment capable
de tourner en daemon.


"Pas vraiment capable" ce n'est pas "vraiment" une assertion digne d'un
informaticien ;-)
Soit il est capable soit il n'est pas capable. Tout dépend des
contraintes. Si on adopte la solution de Michel Billaud (avec inetd)
plus haut on aura bien un daemon lancé pour chaque reception de requête
par le serveur. Ce n'est pas élégant c'est lourd mais ça reste possible.

Pour ma part, je m'orienterais plutôt vers un langage de type perl ou
python qui ne sont pas forcémment très éloignés du PHP et qui sont
beaucoup plus adaptés.



Oui je crois que ces langages sont plus adaptés au multithread (quasi
indispensable pour un serveur). Mais est-ce que ça va satisfaire l'OP ?


Avatar
Michel Billaud
Etienne SOBOLE writes:

Plus simple, un script php lancé par le super-serveur inetd. Ca vous
évite d'avoir à tremper dans la programmation des sockets. Et une
nouvelle instance est lancée pour traiter chaque requête, ce qui évite
radicalement les fuites mémoires emmerdantes dans la programmation des
demons.


Non ca c'est pas possible.
J'ai justement besoin d'avoir des connexion persistantes !!!
c'est le but du serveur :


Un serveur, ça peut être un serveur pop, finger, web, ftp, etc. Des
milliers de choses. Fallait préciser serveur *web*.

Et de toutes façons c'est pas perdu : les processus fils, à courte
durée de vie, peuvent coopérer et faire appel à un processus séparé
chargé de gérer les données persistantes ?

C'est une bonne idée pour une certaine catégorie d'applications dans
certains contextes, et une moins bonne autrement, comme toujours.


yeap.
merci!
t'as deja codé un serveur en PHP? c'est surtout ca la question !


Ptet bien un truc de quelques lignes pour essayer, genre pseudo
serveur pop3. M'étonnerait fortement que je le retrouve.

merci, a+
Etienne


MB

--
Michel BILLAUD
LABRI-Université Bordeaux I tel 05 4000 6922 / 05 5684 5792
351, cours de la Libération http://www.labri.fr/~billaud
33405 Talence (FRANCE)


Avatar
Michel Billaud
Jean-Charles Gibier writes:

t'as deja codé un serveur en PHP? c'est surtout ca la question !
A mon avis, ce n'est guère possible, le PHP n'étant pas vraiment

capable de tourner en daemon.


"Pas vraiment capable" ce n'est pas "vraiment" une assertion digne
d'un informaticien ;-)

Soit il est capable soit il n'est pas capable. Tout dépend des
contraintes. Si on adopte la solution de Michel Billaud (avec inetd)
plus haut on aura bien un daemon lancé pour chaque reception de
requête par le serveur. Ce n'est pas élégant c'est lourd


Tout mon portrait :-) Enfin pour l'élégance (de la solution), je
conteste. Ca depend du critère d'élégance, le mien est de me fatiguer
le moins possible, en général, du moment que ça fournit une solution
acceptable dans le contexte où elle est posée (Il y a un article dans
un Linux Journal récent à ce sujet
http://www.linuxjournal.com/article/9102).

mais ça reste possible.

Pour ma part, je m'orienterais plutôt vers un langage de type perl
ou python qui ne sont pas forcémment très éloignés du PHP et qui
sont beaucoup plus adaptés.



Oui je crois que ces langages sont plus adaptés au multithread (quasi
indispensable pour un serveur). Mais est-ce que ça va satisfaire l'OP
?


On ne sait pas ce qu'il veut faire, ni les contraintes qui font qu'il
veut que ça soit en PHP...

MB
--
Michel BILLAUD
LABRI-Université Bordeaux I tel 05 4000 6922 / 05 5684 5792
351, cours de la Libération http://www.labri.fr/~billaud
33405 Talence (FRANCE)



Avatar
Etienne SOBOLE
Un serveur, ça peut être un serveur pop, finger, web, ftp, etc. Des
milliers de choses. Fallait préciser serveur *web*.


Non c'est un serveur qui maintiendrai les connexion imap ouverte que je
cherche à faire !!!
Tout ceux qui ont déja fait un client mail comprendrons vite le besoin ;)

Ptet bien un truc de quelques lignes pour essayer, genre pseudo
serveur pop3. M'étonnerait fortement que je le retrouve.


Yeap je vais chercher.
J'avais vu les sources d'un servuer FTP en PHP en fois.

je vais regarder.
merci
Etienne