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.