Comment exécuter php avec SimpleHTTPServer?

14

Je viens de trouver cette astuce géniale dans l'Apple SE:

Démarrez un serveur Web rapide à partir de n'importe quel répertoire:

python -m SimpleHTTPServer 8000

Existe-t-il un moyen d'avoir ces scripts PHP d'analyse, ou est-ce pour les sites HTML uniquement?

eykanal
la source

Réponses:

16

Je viens de tomber sur cette réponse de StackOverflow.

Fondamentalement, le serveur Web de python n'est pas configuré pour exécuter des fichiers php par défaut, mais au lieu d'essayer de reconfigurer le serveur Web de python, vous pouvez simplement exécuter le serveur Web de php, qui fonctionne presque exactement comme simplehttpserver de python, avec

php [options] -S <addr>:<port> [-t docroot]

Exemple:

php -S 127.0.0.1:80 -t .

ou simplement

php -S 127.0.0.1:80

pour utiliser le répertoire de travail actuel.

Edit: J'ai oublié de mentionner, il semble nécessaire de l'exécuter en tant que root si vous devez utiliser le port 80, mais ce n'est pas nécessaire si vous spécifiez un numéro de port supérieur comme 8080. Merci de l'avoir signalé, Mike Houston!

TheGuyWithTheFace
la source
Apparemment, les bonnes choses ne viennent à ceux qui attendent :) ne savais même pas php avait cette fonctionnalité. Merci!
eykanal
@eykanal C'est une nouvelle fonctionnalité de PHP 5.4. :-)
ceejayoz
1
Vous devez exécuter en tant que root si vous souhaitez utiliser le port 80, mais si vous choisissez un numéro de port plus élevé (par exemple 8080), vous devriez être un utilisateur standard.
Mike Houston
Je ne savais pas que nous avions php sur OSX par défaut. C'est bien.
Aero Windwalker
1
Il convient également de mentionner que le serveur Web PHP est uniquement à des fins de développement .. Il n'a pas les fonctionnalités étendues de dire apache .. Donc pour le développement oui .. Pour les sites en direct NON!
Angry 84
3

La bibliothèque python SimpleHTTPServer , appelée de cette façon, ne servira que les fichiers et n'interprétera pas PHP (ou python, d'ailleurs). Cependant, vous pouvez le faire servir ce que vous voulez (y compris PHP - consultez CGIHTTPServer ) avec du python personnalisé enroulé autour.

Shane Madden
la source
Donc, comme quelqu'un qui ne connaît pas un point de python et ne veut pas vraiment l'apprendre maintenant, la réponse est "non"?
eykanal
2
C'est un "non", correct.
Bill Weiss