[英]PHP exec() hangs, Error 500
因此,我的计划是使用PHP和IECapt制作URL的小缩略图。 IECapt很好用,它是一个很好的命令行工具,可以在1到4秒钟内获得指定URL的完整大小的图像。 但是我的问题是通过PHP执行它。 这是我试图开始工作的代码:
exec('IECapt.exe ' . escapeshellarg($URL) . ' ' . escapeshellarg($Filename))
$ URL当然是URL,而$ filename是URL的简化版本。
有时,我会得到IECapt来捕获映像(通过PHP),但是要花很长时间(30-60秒),最后我总是遇到500错误,并且没有错误消息告诉我什么地方出了问题。 这两个变量都很好,它们可以通过命令行手动工作:
IECapt http://google.com Google.png
我的服务器设置为IIS7和PHP5.2.9(如果有)。 (Windows Vista,全部在我的个人计算机上,因此具有完全访问权限。)
有任何想法吗?
可能已超过执行时间,并且脚本被杀死。 http://us3.php.net/manual/zh/info.configuration.php#ini.max-execution-time
编辑完配置文件后,还要检查错误消息的显示是否为On,以便它们进入屏幕(将display_errors设置为On)。
正如Palantir所说,它已经超过了默认的PHP执行时间。 可能需要很长时间(即几秒钟)的任何操作都不应在Web浏览器中通过PHP脚本运行。
您需要编写CLI脚本(命令行)以异步运行这些类型的操作。 默认情况下,CLI脚本对执行时间没有限制。
有关更多信息,请参见http://php.net/cli
如果您厌倦了很多此类事情(即必须处理数百个此类操作),则应查看旨在解决此类问题的消息队列。 参见http://framework.zend.com/manual/en/zend.queue.html
Web浏览器不是进行大量处理的正确位置:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.