我有一个在PHP文件中运行exec()
命令的应用程序。该命令应该运行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()
完成并尝试过早打开文件吗?