Developpez.com

Le Club des Développeurs et IT Pro

PHP pourrait intégrer son propre serveur Web

Pour faciliter la mise en place des environnements de développement

Le 2011-04-05 12:54:46, par Idelways, Expert éminent sénior
PHP pourrait embarquer son propre serveur Web intégré au langage à partir des prochaines versions.

C'est en tout cas ce qui se discute actuellement dans les cercles autorisés du langage à la suite d’une proposition actuellement au stade Request For Comment (RFC) accompagnée d'un patch fonctionnel.

Si les mainteneurs du code de PHP adoptent cette proposition, la mise en place d'un environnement de test et de développement d'applications PHP n'en sera que plus simplifiée.

Le lancement des applications ne nécessitera plus qu'une seule ligne au Terminal
Code :
php -S localhost:8080
, sans aucune configuration supplémentaire, notamment si la base de donnée est sous SQLite.

Cette commande lance le serveur sur le port précisé par le développeur et permet de suivre les requêtes traitées. Très pratique pour suivre les requêtes asynchrones et pour exécuter plusieurs applications à la racine du serveur sans passer par des hôtes virtuels.

Code :
1
2
3
4
5
Server is listening on localhost:8080... Press CTRL-C to quit.
[Thu Apr  3 05:42:06 2011] ::1:56258: /
[Thu Apr  3 05:42:06 2011] ::1:56259: /?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
[Thu Apr  3 05:42:06 2011] ::1:56260: /?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
Ce projet n'a toutefois aucune ambition (du moins pour le moment) de rivaliser ou remplacer les serveurs Apache, Nginx et autres en production. Il est pour PHP ce qu'est WEBrick pour Ruby on Rails et "manage.py runserver" pour Django.

On ne sait toutefois pas si ses développeurs envisagent la prise en charge des fichiers .htaccess, indispensables pour beaucoup d'applications web, notamment pour la réécriture des liens.

Ceux qui ne veuillent pas attendre peuvent dès maintenant recompiler PHP avec le patch disponible sur Github.

Source : le site officiel de PHP (actuellement indisponible)

Et vous ?

Que pensez-vous de l'utilité de ce projet ?
Comptez-vous l’utiliser ou préférez-vous vos environnements de développement actuels ?
  Discussion forum
20 commentaires
  • ProgVal
    Membre éclairé
    C'est un serveur de développement, pas de production !
  • gene69
    Membre émérite
    c'est une ânerie.
    S'ils ont du temps en trop ils peuvent écrire une convention de nommage pour les fonctions natives et rationaliser tout ça.

    Sérieusement, chacun son métier, c'est tellement plus simple.
  • Nighty
    En attente de confirmation mail
    Sans être aussi radical que gene69, je pense que c'est aussi une fausse bonne idée...

    Très pratique sur le papier, mais un serveur de développement ne doit-il pas se rapprocher au maximum de l'environnement de production, afin de détecter au plus tôt les problèmes liés à la plateforme ?

    Tout au plus, je pense que ça pourrait être un gadget utile pour faire des applications non-critiques, mais j'ai peur que ça renforce encore un peu la réputation de PHP comme étant un langage de débutant...
  • impossiblium
    Membre à l'essai
    Le gros intérêt est justement d'être indépendant d'un serveur web "out of the box".
    Pour commencer à développer, il n'y aurait donc plus à installer apache, IIS, nginx, etc, uniquement PHP qui proposerait un environnement de développement complet nativement (le langage + le serveur web + une base de données via sqlite).
    Ce n'est pas parfait, mais ça peut avoir son utilité pour du prototypage ou pour des développements ne nécessitant pas l'artillerie lourde représenté par Apache/Nginx/Mysql/PosgreSQL/etc.
  • berceker united
    Expert éminent
    Il me semble que cela soit déjà possible d'avoir un serveur web entièrement en PHP.-
  • ProgVal
    Membre éclairé
    Pour Django, admin.py, ce n'est pas le serveur Web, mais le fichier contenant les "instructions" pour l'interface d'administration.
    Le serveur Web, c'est "./manage.py runserver".
  • MaitrePylos
    Modérateur
    Envoyé par gene69
    c'est une ânerie.
    Au contraire, cela va permettre de pouvoir coder plus vite.

    Un serveur de Dev, un terminal en PHP (pas au top mais bon), cela va permettre de pousser un peu PHP.

    Mais je suis aussi d'accord pour les conventions
  • impossiblium
    Membre à l'essai
    Cette information n'est pas nouvelle, et pour l'instant, si la RFC a reçu un accueil favorable, l'intégration de cette fonctionnalité dans la prochaine version de PHP n'est pas encore effective.
    En conséquence, il faut éviter de s'emballer.
    Quand à la "normalisation/rationnalisation" de l'API de PHP, il faut arrêter de rêver sur ce sujet. Pour l'instant, ça n'est clairement pas à l'ordre du jour, et pour ce que j'en sais, ce n'est pas près de changer (malheureusement).
  • Arkhee
    Membre à l'essai
    si le but non avoué est de pouvoir développer des applications autonomes, déployées sur des postes client, pourquoi pas ?

    mais si on considère que ce "serveur autonome" ne remplacera pas Apache, je ne vois pas l'intérêt de développer avec. Pourquoi tendre le bâton pour se faire battre ? Une telle quantité de problèmes provenant de différences minimes entre les différences de paramétrages de Apache qu'à mon avis, si on développe sur des serveurs web différents on ne saura plus à qui attribuer un problème donné.
    Ceci parmi d'autres problèmes d'ailleurs. Bref +1 pour la charte de nommage.

    Enfin tant qu'à prendre du temps pour rien perso je préférerais qu'ils le mettent sur une librairie graphique pour le dev d'applications.
  • ratomms
    Membre actif
    C'est vrai que ça simplifie le développement mais ça ne remplace pas du tout les fonctionnalités d'un serveur Web indépendant.