可以在没有客户端请求的情况下在服务器上定期运行PHP脚本吗?

时间:2010-01-08 04:43:01

标签: php mysql pdf

我将编写一个脚本来将文本文档解析为MySQL数据库。我将使用单独的实用程序将PDF转换为文本。这些PDF将通过电子邮件附件提交。

我正在寻找能否用PHP做到这一点,因为那是我最熟悉的服务器语言。第二个选择是Perl,但我会接受你的推荐。

所以语言需要能够:

  1. 查看电子邮件帐户,查看附件的电子邮件(每隔几分钟左右)。
  2. 保存附件。
  3. 使用正则表达式解析文件(查找联系信息)。
  4. 并将结果放在MySQL数据库中
  5. 我将无法完全访问服务器,因为它将由GoDaddy或类似服务器托管。

    我熟悉PHP,但我想不出我是如何系统地检查邮箱的。如果PHP无法做到这一点,那么在没有来自浏览器的请求的情况下,服务器上执行任务的语言是否经常运行?

    谢谢。

5 个答案:

答案 0 :(得分:9)

您可以使用PHP脚本执行此操作,通过cron job进行管理。

答案 1 :(得分:4)

您可以使用http://www.setcronjob.com/

等服务定期触发HTTP请求

答案 2 :(得分:3)

如果没有客户端请求,PHP本身无法自行执行任务。

使用cron job来安排运行脚本的常用方法(shell,perl, PHP ,python等)。

如果您在IIS上运行,则可以在Windows中使用Schedule Tasks

答案 3 :(得分:1)

Cron Job是要走的路。此外,如果我可以提出建议,请确保将PHP脚本放在Web可访问目录之外,然后通过CLI php运行它。

如果您的脚本位于可从Web访问的目录中,则可能会比预期的更频繁地运行...特别是如果机器人/抓取工具获取它。

答案 4 :(得分:0)