Я бегу простую команду в цикле командование само FFmpeg, но я не верю, что это связано с проблемой так, у меня есть:
Таким образом, если что-то пойдет не так с командой, я могу прочитать результат в журнале. Он работает, однако $ output содержит всю историю оболочки команды. Чтобы уточнить: каждый раз, когда возникает ошибка, весь вывод, который был сгенерирован конкретной командой (включая сотни успешных исполнений из дня), сбрасывается в файл. То, что должно быть записано в 5 строк, - это, скорее всего, 1000+ история строк. Я использовал тот же самый код в CentOS, и это дало мне ожидаемый вывод только результата, сгенерированного экземпляром, который был недавно выполнен.
unset ($ output); работал отлично. Благодарю. Я думаю, CentOS очищал $ output каждый раз, когда exec() называется –
. Я не вижу, как OS может это сделать, это часть PHP. Возможно, это старая версия PHP, хотя в документе нет комментариев к версии, которые говорят, что она изменилась. – Barmar