作为计划任务运行的PHP脚本挂起 - 帮助!

问题描述:

我已经构建了一个从命令行运行的php脚本。它打开一个连接到pop3电子邮件帐户并下载所有电子邮件并将它们写入数据库,并在下载后删除它们。我有一个bat文件从命令行调用这个脚本。我又创建了一个计划任务,每5分钟调用一次bat文件。问题是,我已经把时间设置为零,因为有时可能会有大量附件的电子邮件,而且脚本实际下载附件并将它们作为原始文件脱机存储,并且不允许超时以便脚本不死在下载过程中。作为计划任务运行的PHP脚本挂起 - 帮助!

我发现程序有时会挂起,有点烦人 - 它总是挂起一点,即在协商连接并连接到邮件服务器时。而且由于超时设置为零,它似乎一直停留在该位置。并且因为这个任务不是按照技术上的挂起来运行的。

我希望程序在下载电子邮件时不应该超时 - 但是在它正在协商连接或试图连接到邮件服务器的地方,应该只在该点本身而不是程序的其余部分超时执行。

如何做到这一点:(

+0

如何连接到pop3电子邮件帐户? – 2009-06-24 08:31:04

的超时值可以使用socket_set_timeout()如果你直接使用套接字,你可以看看this other question的详细信息,如果您使用的是图书馆,你可以设置应该检查它的文档,但我宁愿检查它是否真的是是超时问题Log php errors into a file,你可以浏览它们全部设置max_execution_time为一些可接受的值(如10分钟),并检查日志,当它再次挂起,如果它始终是它的失败线路

我最近遇到了这个问题,谁是谁寻找答案。我有任务调度程序直接调用.php文件。它会挂起,永远不会返回任何东西。

我发现运行firefox.exe并将url作为参数发送是通过任务管理器运行.php文件的正确方法。

firefox.exe“http://host/dir/file.php”