У меня есть приложение, которое запускает exec()
Команда в файле PHP. Предполагается, что команда запускает PhantomJS и создает несколько документов HTML.
Сценарий в основном выглядит так:
foreach ($files as $file) {
exec('phantomjs '.$pathToScript.$file);
$html = fopen($pathToHTML.$file,'r');
//do other stuff
}
Я проверил правильность обоих путей и наличие файлов сценариев, и когда я вручную запускаю одну и ту же команду в консоли Unix, она всегда создает файл. В моем PHP-скрипте я часто получаю сообщение о том, что HTML-файл не существует только потому, что он не создан скриптом. Это не всегда, в основном сценарий создает несколько файлов, а затем останавливается на том, который случайно не создается. Эти сценарии не длинные. В консоли каждый в основном выполняется в течение 5 — 10 секунд. В чем может быть проблема здесь? Может ли быть так fopen()
не ждет exec()
закончить и пытается открыть файл слишком рано?
Задача ещё не решена.
Других решений пока нет …