Я пытаюсь найти самый последний доступ к «foo» в nginx access.log, и когда я запускаю следующую команду через командную строку, она работает точно так, как ожидалось, и очень быстро.
$output = exec('tac /var/log/nginx/access.log | grep -m1 "foo"');
echo $output;
Однако, запуская его через функцию exec()
php, время ожидания истекает через 30 секунд. Если я убью процесс tac
на сервере, PHP выдаст ожидаемый результат, как только процесс будет остановлен. я пытался
grep "foo" /var/log/nginx/access.log | tail -1
но для поиска результата требуется целых 22 секунды вместо доли секунды в командной строке, но опять же не работает через функцию PHP exec()
.
Спасибо за любую помощь, которую вы можете предложить.