所以,我的计划是使用PHP和IECapt制作URL的小缩略图。 IECapt运行良好,一个很好的命令行工具,在1到4秒内获取指定URL的完整大小的图像。 但我的问题是通过PHP执行它。这是我试图开始工作的代码:
exec('IECapt.exe ' . escapeshellarg($URL) . ' ' . escapeshellarg($Filename))
$ URL当然是URL,$ filename是URL的简化版本。
有时我会让IECapt捕捉图像(通过PHP),但它需要很长时间(30-60s),最后我总是得到500错误,没有错误消息告诉我什么是错的。 两个变量都很好,它们可以使用命令行手动工作:
IECapt http://google.com Google.png
我的服务器设置是IIS7和PHP5.2.9,如果相关的话。 (Windows Vista,全部在我的个人计算机上,因此完全访问。)
有什么想法吗?
答案 0 :(得分:0)
可能超出了执行时间,并且您的脚本被终止。 http://us3.php.net/manual/en/info.configuration.php#ini.max-execution-time
编辑配置文件后,还要检查错误消息显示是否为On,以便它们到达您的屏幕(将display_errors设置为On)
答案 1 :(得分:0)
正如Palantir所说,它超过了默认的PHP执行时间。任何可能需要很长时间(即几秒钟)的操作都不应该通过Web浏览器中的PHP脚本运行。
您需要编写CLI脚本(命令行)以异步方式运行这些操作。默认情况下,CLI脚本对执行时间没有限制。
有关详情,请参阅http://php.net/cli
如果您遇到很多此类事情(即必须处理100次此类操作),您应该查看旨在解决此类问题的消息队列。见http://framework.zend.com/manual/en/zend.queue.html
网页浏览器不适合繁重处理:)