Wo ist die ausführbare PHP-Datei auf Ubuntu?

30785
samsamara

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 also eine Anforderung für eine PHP-Datei erhalten habe, möchte ich etwas wie 'exec php test.php' tun, die Ausgabe abrufen und an den Client weiterleiten.

Da ich nicht viel mit Ubuntu zu tun habe, weiß ich nicht, wo sich die ausführbare PHP-Datei befindet (sollte in \ bin sein?), Um es 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?

8
Was passiert ist, ist höchstwahrscheinlich, dass Sie PHP in Apache als PHP-Modul erhalten haben (technisch gesehen - eine Bibliothek, die nicht eine ausführbare Binärdatei ist, die extern aufgerufen wird). Deshalb konnten Sie die Binärdatei nicht finden. Dieser Kommentar soll die Antwort vervollständigen. Sie sagt Ihnen, was zu tun ist, um die PHP-Binärdatei in Ihr System zu laden, gibt jedoch keine Gründe dafür an, warum sie fehlte. AnonymousLurker vor 12 Jahren 1
Wenn Sie wirklich Ubuntu 8.10 ausführen, wie es Ihre Tags vorschlagen, sollten Sie verstehen, dass Ubuntu 8.10 extrem veraltet ist. Sie sollten ASAP wirklich aktualisieren. Für diese Version gibt es keine Sicherheitsunterstützung. Zoredache vor 12 Jahren 0
@Zoredache Ja, ich weiß, dass es sehr alt ist. Aber ich bin kein Ubuntu-Benutzer. Ich hatte die CD und habe sie nur für meine Aufgabe installiert! : D samsamara vor 12 Jahren 0

4 Antworten auf die Frage

10
Andrew

Ich habe die ausführbaren Dateien in / usr / bin / gefunden.

z.B:

  • / usr / bin / php
  • /usr/bin/php7.0
  • /usr/bin/php7.1
8
Kamil Šrot

Sie müssen das php5-clioder das php5-cgiPaket installieren .

sudo apt-get install php5-cli # OR sudo apt-get install php5-cgi 

Wie Zoredache im Kommentar vermerkt. Die cli-Version verarbeitet keine Header und gibt sie nicht aus - sie ist eine Art sauberer PHP-Interpreter, der HTTP nicht kennt.

Wenn Sie eine Version mit der oben genannten Version wünschen, verwenden Sie die CGI-Version.

Ja, ich habe gerade gelernt, dass ich PHP-Cli brauche .. :) samsamara vor 12 Jahren 1
Da er einen Webserver schreibt, will er * wahrscheinlich * keine CLI-Version haben, da er die GET / POST-Daten nicht abrufen kann. Zoredache vor 12 Jahren 1
ok, installiert, noch Frage: Wo ist die ausführbare Datei? Andrew vor 7 Jahren 1
2
Robert Sinclair

Geben Sie Folgendes in Ihr Terminal ein

wo ist php

1
Zoredache

Wenn Sie einen eigenen Webserver schreiben, möchten Sie wahrscheinlich 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:

Ich schreibe einen einfachen Webserver mit PHP- und CGI-Unterstützung. Zum Analysieren von PHP-Dateien werde ich 'exec / usr / bin / php file.php' ausführen. Sie können CGI-Skripts ausführen, indem Sie sie in perl analysieren. Habe ich recht? möglich? samsamara vor 12 Jahren 0
Ähm, kein CGI hat nichts mit Perl zu tun. Sie sollten zumindest den Wikipedia-Artikel lesen. Zoredache vor 12 Jahren 1