funkcja php exec () i różne hosty
Mam skrypt, który wykonuje plik w kilku katalogach, które wyglądają tak:
<code>exec("php-cli $file_path > /dev/null 2>/dev/null &"); //php command-line </code>
Działa to na większości hostów, ale niektóre hosty go nie lubią i nie działają bez generowania błędów.
Dla hostów, na których to się nie powiedzie, używam
<code>exec("php $file_path > /dev/null 2>/dev/null &"); //notice the -cli is gone </code>
Co działa dobrze.
$ ścieżka_pliku jest pełną ścieżką do wykonywanego pliku /home/blah/path/blah.php
Jak mogę uczynić ten mundur tak, aby działał na wszystkich serwerach (przynajmniej unix)
**EDYTOWAĆ**
Cóż, robię to w ten sposób, najprawdopodobniej nie jest to właściwy sposób, ale działa.
Zamiast tylko używać php-cli lub php, używam obu, więc jeśli jeden zawiedzie, drugi przechodzi. Albo php działa jako cgi lub cli, a jeden z nich przechwyci, a ponieważ nie ma wyjścia, nie będzie też błędu.
<code>exec("php-cli $file_path > /dev/null 2>/dev/null &"); exec("php $file_path > /dev/null 2>/dev/null &"); </code>
Jeśli nie znasz lepszego rozwiązania, daj mi znać. Dziękuję za całą pomoc.