função exec () php e hosts diferentes
Eu tenho um script que executa um arquivo em um par de diretórios para baixo que se parece com isso:
exec("php-cli $file_path > /dev/null 2>/dev/null &"); //php command-line
Isso funciona na maioria dos hosts, mas alguns hosts não gostam e não são executados, sem gerar erros.
Para os hosts que isso falha, eu uso
exec("php $file_path > /dev/null 2>/dev/null &"); //notice the -cli is gone
Que funciona bem.
$ file_path é o caminho completo para o arquivo que está sendo executado /home/blah/path/blah.php
Como posso fazer este uniforme para que funcione em todos os servidores (unix, pelo menos)
**EDITAR**
Bem, eu estou fazendo assim, é (muito provavelmente) não o caminho correto, mas funciona.
Em vez de usar apenas php-cli ou php, eu uso os dois, se um falhar, o outro passa. Ou o php está rodando como cgi ou cli e um desses travará, e como não há saída, não haverá erro algum.
exec("php-cli $file_path > /dev/null 2>/dev/null &");
exec("php $file_path > /dev/null 2>/dev/null &");
A menos que você conheça uma solução melhor, por favor me avise. Obrigado por toda sua ajuda.