¿Cómo determinar qué PHP se está utilizando?
Por ejemplo, si hay /usr/local/bin/php
y usr/local/bin/php5
, ¿cómo sé cuál está siendo utilizado por mis scripts PHP?
Si está utilizando la CLI de PHP, intente utilizar estos comandos de shell (supongo que está utilizando Linux aquí)
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
Si está utilizando PHP como un módulo de Apache, phpinfo () le dirá la versión de php utilizada y los archivos de configuración de php, NO la ruta de php . Si tiene 2 versiones del ejecutable php, esto le ayudará. Si son la misma versión, entonces no importará cuál es quién :)
Si desea conocer la versión de php, entonces php -v imprimirá la versión de php en la CLI y cualquier módulo Zend instalado.
Si desea conocer los archivos ini incluidos, php --ini mostrará la lista de archivos ini cargados por el módulo php (esto se aplica a la versión CLI).
which
comando es lo que necesitaba.which
; utilizarcommand -v
en su lugar. Consulte también Verificar si existe un programa desde un script Bash .Simplemente agregue un script simple
fuente
php
desde el inicio de sesión de un usuario; y no necesariamente el php usado por Apache?Suponiendo que está utilizando a través del servidor web:
puede poner la siguiente función en un script:
Si esto no funciona, podría deberse a que esta función está deshabilitada en php.ini. Esto a menudo se hace por seguridad. Si este es el caso, tendrá una línea en su php.ini como:
Si este es el caso, cámbielo temporalmente a
Si está utilizando php para los scripts de Shell:
Debería haber la 'línea shebang' en la parte superior, algo así como
#! / usr / local / bin / php -q
¿Estás seguro de que uno no es un enlace smybolic al otro? hacer
ls -l / usr / local / bin / php
No ;-)
fuente
También desde la línea de comandos:
fuente
php
desde el inicio de sesión de un usuario; y no necesariamente el php usado por Apache?fuente
Si está hablando de sus scripts web llamados por su servidor web Apache y PHP está configurado como un módulo Apache, entonces la respuesta es NINGUNA.
Las ubicaciones que menciona en su pregunta son intérpretes de script de línea de comandos que se llamarían por notación shebang como
en la parte superior de su script de línea de comando php
puede llamar a los intérpretes que mencionó por separado, ya que tienen nombres diferentes
llamaría / usr / local / bin / php y
llamaría / usr / local / bin / php5
Ninguno de esos se usa si usa PHP a través del módulo Apache. Si usa la versión CGI de php, debería aparecer en phpinfo (); salida.
fuente
fuente
Esto funciona incluso si no tiene acceso de shell. ;-)
fuente