繁体   English   中英

PHP exec()挂起,错误500

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM