PHP exec()挂起,错误500
所以,我的计划是用PHP和IECapt制作URL的小缩略图。 IECapt运行良好,是一个很好的命令行工具,可以在1到4秒内获得指定URL的完整图像。 但我的问题是通过PHP执行它。这是我一直在尝试的代码:PHP exec()挂起,错误500,php,exec,freeze,Php,Exec,Freeze,所以,我的计划是用PHP和IECapt制作URL的小缩略图。 IECapt运行良好,是一个很好的命令行工具,可以在1到4秒内获得指定URL的完整图像。 但我的问题是通过PHP执行它。这是我一直在尝试的代码: exec('IECapt.exe ' . escapeshellarg($URL) . ' ' . escapeshellarg($Filename)) $URL当然是URL,$filename是URL的简化版本 有时我会让IECapt捕捉图像(通过PHP),但它需要非常长的时间(30-6
exec('IECapt.exe ' . escapeshellarg($URL) . ' ' . escapeshellarg($Filename))
$URL当然是URL,$filename是URL的简化版本
有时我会让IECapt捕捉图像(通过PHP),但它需要非常长的时间(30-60秒),最后我总是会得到500个错误,没有错误消息告诉我出了什么问题。
这两个变量都很好,它们使用命令行手动工作:
IECapt Google.png
我的服务器设置为IIS7和PHP5.2.9(如果相关)。
(Windows Vista,全部在我的个人电脑上,因此可以完全访问。)
有什么想法吗?可能超出了执行时间,脚本被终止。
编辑配置文件后,还要检查错误消息显示是否打开,以便它们进入屏幕(将display_errors设置为打开)正如Palantir所说,这超过了默认的PHP执行时间。任何可能需要很长时间(即几秒钟以上)的操作都不应通过web浏览器中的PHP脚本运行 您需要编写CLI脚本(命令行)以异步运行此类操作。默认情况下,CLI脚本对执行时间没有限制 查看更多信息 如果您需要处理大量此类操作(例如,必须处理100次此类操作),那么您应该看看旨在解决此类问题的消息队列。看 web浏览器不是进行繁重处理的合适位置:)对于500错误,您总是会在
error.log
中看到详细的错误消息。请发那条消息。