Wie kann man feststellen, welches PHP verwendet wird?
Zum Beispiel, wenn es /usr/local/bin/php
und usr/local/bin/php5
, wie kann ich wissen , welche durch mein PHP - Skripte verwendet wird?
Wenn Sie die PHP-CLI verwenden, versuchen Sie, diese Shell-Befehle zu verwenden (ich gehe davon aus, dass Sie hier Linux verwenden).
which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands
Wenn Sie PHP als Apache-Modul verwenden, zeigt Ihnen phpinfo () die verwendete PHP-Version und die PHP-Konfigurationsdateien an, NICHT den PHP-Pfad . Wenn Sie 2 Versionen der ausführbaren PHP-Datei haben, hilft Ihnen dies. Wenn sie die gleiche Version sind, spielt es keine Rolle, wer wer ist :)
Wenn Sie die PHP-Version herausfinden möchten, druckt PHP-V die PHP-Version in der CLI und alle installierten Zend-Module.
Wenn Sie die enthaltenen INI-Dateien herausfinden möchten, zeigt php --ini die Liste der vom PHP-Modul geladenen INI-Dateien an (dies gilt für die CLI-Version).
which
Befehl das, was ich brauchte.which
; Verwenden Siecommand -v
stattdessen. Siehe auch Überprüfen, ob ein Programm aus einem Bash-Skript vorhanden ist .Fügen Sie einfach ein einfaches Skript hinzu
quelle
php
die Anmeldung eines Benutzers ausgeführt? und nicht unbedingt das von Apache verwendete PHP?Angenommen, Sie verwenden über den Webserver:
Sie können die folgende Funktion in ein Skript einfügen:
Wenn dies nicht funktioniert, kann dies daran liegen, dass diese Funktion in der php.ini deaktiviert ist. Dies geschieht häufig aus Sicherheitsgründen. Wenn dies der Fall ist, haben Sie eine Zeile in Ihrer php.ini wie:
Wenn dies der Fall ist, ändern Sie es vorübergehend in
Wenn Sie PHP für Shell-Skripte verwenden:
Oben sollte sich die 'Shebang-Linie' befinden, so etwas wie
#! / usr / local / bin / php -q
Bist du sicher, dass einer keine smybolische Verbindung zum anderen ist? machen
ls -l / usr / local / bin / php
Nicht ;-)
quelle
Auch von der Kommandozeile:
quelle
php
die Anmeldung eines Benutzers ausgeführt? und nicht unbedingt das von Apache verwendete PHP?quelle
Wenn Sie über Ihre Web-Skripte sprechen, die von Ihrem Apache-Webserver aufgerufen werden und PHP als Apache-Modul konfiguriert ist, lautet die Antwort NONE.
Die Orte, die Sie in Ihrer Frage erwähnen, sind Befehlszeilenskript-Interpreter, die durch Shebang-Notation wie aufgerufen würden
oben in Ihrem PHP-Kommandozeilen-Skript
Sie können die von Ihnen genannten Dolmetscher separat anrufen, da sie unterschiedliche Namen haben
würde / usr / local / bin / php und aufrufen
würde / usr / local / bin / php5 aufrufen
Keines davon wird verwendet, wenn Sie PHP über das Apache-Modul verwenden. Wenn Sie die CGI-Version von PHP verwenden, sollte diese in phpinfo () angezeigt werden. Ausgabe.
quelle
quelle
Dies funktioniert auch dann, wenn Sie keinen Shell-Zugriff haben. ;-);
quelle