¿Cómo determinar la ruta a php.exe en Windows: buscar rutas predeterminadas?
-
10-12-2019 - |
Pregunta
Actualmente estoy desarrollando un par de complementos para Sublime Text 2 en OS X y me gustaría hacerlos multiplataforma, lo que significa que tengo que averiguar si y dónde. php.exe
esta instalado.
Ahora mismo llamo /usr/bin/php
en Python, que obviamente sólo funciona en OS X y Linux:
phppath = '/usr/bin/php'<br>
pluginpath = sublime.packages_path() + '/HtmlTidy/tidy.php'<br>
retval = os.system( '%s "%s"' % ( phppath, scriptpath ) )
Pero en Windows, parece no haber una ruta predeterminada definitiva para php.exe.Cuanto más lo buscaba en Google, más posibilidades aparecían.Hasta ahora creo que tendría que comprobar la existencia de cada una de las siguientes rutas:
c:\php\php.exe
c:\php5\php.exe
c:\windows\php.exe
c:\program files\php\php.exe
c:\wamp\bin\php\php5\php.exe
c:\xampp\php\php.exe
Ya es una gran colección, pero lo que pido es una completo lista que cubre todas las posibilidades - o Otra forma de resolverlo que debería ser tan sólida como verificar cada ruta posible.
Entonces, si tiene php.exe instalado en algún lugar distinto a estos, deje un comentario con su ruta y lo agregaré a la lista anterior.
Además, parece haber php.exe
y php-cli.exe
.Supongo que estaría bien recorrer cada ruta posible, verificar primero php-cli.exe, luego verificar php.exe y tomar la primera coincidencia.¿Es correcto o existe una práctica mejor?
Solución
Si el usuario ha definido la carpeta bin de PHP agregada al sistema PATH
entonces deberías poder intentar ejecutar php -v
para comprobar que está presente.
Si desea obtener la ruta completa al ejecutable php y el sistema de destino es Windows 2003 o posterior (es decir, Vista y 7), entonces puede usar el WHERE
comando, es decir:
C:\>where php.exe
C:\Program Files (x86)\WAMP\bin\php\php5.3.5\php.exe
Vea también una pregunta posiblemente relacionada: ¿Existe un equivalente de "cuál" en la línea de comando de Windows?.
Si realmente estás desesperado por encontrar cualquier archivo en la computadora del usuario, puede intentar ejecutar el equivalente de un find
- pero va a ser lentamente!
C: && cd \ && dir /s /b php.exe
Otros consejos
Desde PHP 5.4 y posteriores, puedes usar la constante PHP_BINARY.
C:\xampp\php\php.exe
Debería funcionar si tu xampp está activado D: o MI: cambias en consecuencia de C:
intentar
echo PHP_BINDIR;
Funciona, lo probé en MacOS como con php 5.6