Ich habe Apache und PHP installiert. Ich weiß, dass PHP funktioniert, da ich eine einfache PHP-Datei auf einem Apache-Server getestet habe.
Ich schreibe einen einfachen Webserver, der PHP-Dateien verarbeiten kann. Sobald ich eine Anfrage für eine PHP-Datei erhalte, möchte ich etwas wie 'exec php test.php' ausführen und die Ausgabe abrufen und an den Client übergeben.
Da ich Ubuntu nicht besonders mag, weiß ich nicht, wo sich die ausführbare PHP-Datei befindet (sollte sich in \ bin befinden, oder?), Um dies zu tun. Es gibt jedoch keine PHP-Datei in \ bin oder \ usr \ bin.
Wenn ich 'which php' starte, wird nichts angezeigt. Wie mache ich das?
linux
ubuntu
apache-http-server
php
ubuntu-8.10
Samsamara
quelle
quelle
Antworten:
Sie müssen das Paket
php5-cli
oder installierenphp5-cgi
.Wie Zoredache im Kommentar feststellte. Die CLI-Version verarbeitet keine Header und gibt sie auch nicht aus - es ist eine Art sauberer PHP-Interpreter, der HTTP überhaupt nicht kennt.
Wenn Sie eine Version wünschen, die die oben genannten Funktionen unterstützt, verwenden Sie die CGI-Version.
quelle
Geben Sie Folgendes in Ihr Terminal ein
quelle
php: /usr/bin/php7.1 /usr/bin/php7.0 /usr/bin/php /usr/bin/php7.2 /usr/lib/php /etc/php /usr/include/php /usr/share/php7.1-opcache /usr/share/php7.2-zip /usr/share/php7.0-intl /usr/share/php7.1-common /usr/share/php7.0-gd /usr/share/php7.2-common /usr/share/php7.1-gd /usr/share/php7.1-xmlrpc /usr/share/php7.2-intl /usr/share/php7.2-mysql
Ich habe die ausführbaren Dateien in / usr / bin / gefunden
z.B:
quelle
Wenn Sie Ihren eigenen Webserver schreiben, möchten Sie mit ziemlicher Sicherheit die CGI-Version der PHP-Binärdatei installieren oder erstellen und das CGI-Protokoll auf Ihrem Webserver implementieren. Die CGI-Version verfügt über die erforderlichen Funktionen zum Erfassen der GET / POST-Daten.
Sehen:
quelle