Función php exec () y diferentes hosts.
Tengo una secuencia de comandos que ejecuta un archivo en un par de directorios hacia abajo que se ve así:
<code>exec("php-cli $file_path > /dev/null 2>/dev/null &"); //php command-line </code>
Esto funciona en la mayoría de los hosts, pero a algunos hosts no les gusta y no se ejecutan, sin generar ningún error.
Para los hosts que esto falla, yo uso
<code>exec("php $file_path > /dev/null 2>/dev/null &"); //notice the -cli is gone </code>
Que funciona bien.
$ file_path es la ruta completa al archivo que se está ejecutando /home/blah/path/blah.php
¿Cómo puedo hacer esto uniforme para que funcione en todos los servidores (al menos unix)
**EDITAR**
Bueno, lo estoy haciendo de esta manera, es probable que no sea la correcta, pero funciona.
En lugar de usar php-cli o php, uso ambos, por lo que si uno falla, el otro pasa. O bien el php se está ejecutando como cgi o cli y uno de estos se capturará, y como no hay salida, tampoco habrá error.
<code>exec("php-cli $file_path > /dev/null 2>/dev/null &"); exec("php $file_path > /dev/null 2>/dev/null &"); </code>
A menos que sepa una solución mejor, por favor hágamelo saber. Gracias por toda tu ayuda.