2011-04-16 5 views
2

Je crée un serveur web simple utilisant PHP et les sockets. Tout fonctionne correctement maintenant (contenu statique uniquement). Je suis intéressé à soutenir l'exécution de fichiers PHP.Création d'un serveur web PHP ... exécution de fichiers PHP

Comment ferais-je cela? Je ne veux pas vraiment utiliser eval($fileContents) car cela ne semble pas très sécurisé. Est-ce que je peux utiliser des sockets FastCGI ou autre chose?

Qu'en est-il de PHP-CGI?


J'ai décidé d'utiliser FastCGI, si
est ici une question plus précise:

Comment passer dois-je les fichiers dans PHP-CGI et obtenir la sortie en tant que chaîne? php-cgi "phpinfo.php" affiche le contenu HTML comme je le souhaite. Je comprends que je peux utiliser des sockets mais je n'arrive pas à trouver ce qu'il faut envoyer dans cette socket pour obtenir la sortie.

Merci

+3

Pourquoi diable feriez-vous cela? – Wes

+1

Wes, tu es si délicat. –

+1

Wow, quelqu'un a réellement fait cela pour de vrai: http://nanoweb.si.kz/ – Jeff

Répondre

2

ce qui est si peu sûr eval (fileContents $)? ou, plus familier mais réellement égal inclure $ fileName? (avec le nettoyage de nom de fichier approprié bien sûr)

apparemment ce n'est pas plus fou que le serveur Web PHP lui-même.

+0

Toutes les erreurs qui sont présentes dans les fichiers inclus arrêter le serveur entier. Devrais-je simplement utiliser des exceptions? Quelque chose d'ennuyeux: phpinfo() ne génère pas de contenu HTML lors de l'exécution de php-cli. PHP-CGI semble le faire si ... –

+0

Eh bien oui, un moyen le plus commun de connecter un serveur web avec un exécutable est CGI –

0

Vous pouvez exec() l'exécutable PHP depuis votre serveur web. Bien que vous deviez aussi finagle le passage des données GPC au script en question.

Questions connexes