Antworten:
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
; Verwenden Sie command -v
stattdessen. Siehe auch Überprüfen, ob ein Programm aus einem Bash-Skript vorhanden ist .
Fügen Sie einfach ein einfaches Skript hinzu
<?php phpinfo(); ?>
Angenommen, Sie verwenden über den Webserver:
Sie können die folgende Funktion in ein Skript einfügen:
<?php
phpinfo();
?>
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:
disable_functions = phpinfo
Wenn dies der Fall ist, ändern Sie es vorübergehend in
disable_functions =
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 ;-)
Auch von der Kommandozeile:
$ php -v
PHP 5.2.6-3ubuntu4 mit Suhosin-Patch 0.9.6.2 (cli) (erstellt: 31. März 2009 02:11:31) Copyright (c) 1997-2008 Die PHP Group Zend Engine v2.2.0, Copyright (c) 1998- 2008 Zend Technologies
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
#!/usr/local/bin/php
oben in Ihrem PHP-Kommandozeilen-Skript
Sie können die von Ihnen genannten Dolmetscher separat anrufen, da sie unterschiedliche Namen haben
# php
würde / usr / local / bin / php und aufrufen
# php5
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.
<?php echo shell_exec('which php'); ?>
Dies funktioniert auch dann, wenn Sie keinen Shell-Zugriff haben. ;-);
which
Befehl das, was ich brauchte.