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í:
exec("php-cli $file_path > /dev/null 2>/dev/null &"); //php command-line
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
exec("php $file_path > /dev/null 2>/dev/null &"); //notice the -cli is gone
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.
exec("php-cli $file_path > /dev/null 2>/dev/null &");
exec("php $file_path > /dev/null 2>/dev/null &");
A menos que sepa una solución mejor, por favor hágamelo saber. Gracias por toda tu ayuda.