Вот основной тестовый скрипт, чтобы показать проблему я, имеющий:PHP error_log не вход, когда скрипт выбежала из оболочки
test1.php
<?php
error_log('hello');
?>
Это прекрасно работает. Открытие http://exmaple.com/test будет записывать «привет» в /var/log/apache2/error.log.
Теперь у меня есть это, чтобы запустить test.php в фоновом режиме:
test2.php
<?php
shell_exec("/usr/bin/php /var/www/test.php > /dev/null 2>/dev/null &");
?>
Я знаю, что stderr
перенаправляется /dev/null
в этом примере, но Я также пробовал его без > /dev/null 2>/dev/null &
и до сих пор не регистрируется.
Я также попробовать установить error_log путь в test.php с помощью ini_set('error_log','/var/log/apache2/error.log');
Есть ли способ, чтобы заставить его правильно войти?
Эй, я только что заметил, что StackOverflow изменил свой логотип ... Это гей-парад? –
Был я пытаюсь сделать шутку на новом логотипе ... И это на самом деле гей-парад ... –
php при выполнении из CLI не регистрируется в файле журнала apaches. Это не имеет смысла и, скорее всего, у него нет разрешения на это. Как правило, существуют отдельные файлы php.ini для режима cli и http server. И обычно php на cli logs to stderr. Который вы не забираете в коде выше. – arkascha