繁体   English   中英

始终在主机服务器中运行PHP脚本

[英]Running A PHP Script Always in A Hosting Server

我创建了一个PHP脚本,它将在10秒后通过提供的邮件列表连续发送邮件,但是如果我在Web浏览器中将其保持打开状态,它将可以正常工作,但是可以通过任何方式在自己的托管服务器上运行此脚本,因此我不必始终保持浏览器和Internet连接处于打开状态,即使我的计算机已关闭,此脚本仍可在服务器本身中连续运行?

作为守护程序或cron运行它。 对于cron,您可以每1分钟运行一次。 Cron不支持这一点。 cron条目将如下所示:

# m h  dom mon dow   command
  * *  *   *   *    /usr/bin/php /path/to/project/file.php

对于守护程序,基本上可以从命令行运行此脚本。 在脚本中,您运行带有10秒睡眠的while循环。

while(true){
    // do stuff
    sleep(10);
}

守护程序解决方案更灵活,但难以实施。 为此,您必须处理信号处理以处理Ctrl + CKILL信号, 分叉dameon ,记录日志。

假设您在命令字段方面遇到问题,
在“要运行的命令:”字段中,输入脚本的完整路径(您可能需要向主机咨询)。 如果要运行php文件,该命令将以php开头。 例如,如果您想运行RSS Import来更新您的Pligg提要,则输入php以及import_feeds.php文件的路径。
在AN Hosting上,您的路径如下所示:

php /home/[your username]/public_html/rss/import_feeds.php


如果您要运行自动备份脚本来备份MySQL数据库并通过电子邮件将副本发送给您(请参见WordPress Blogger(及其他)的8种MySQL备份策略,策略#7),请输入/ bin / sh( (因为这是Shell脚本)以及脚本的路径。
在AN Hosting上,您的路径如下所示:

/bin/sh /home/[your username]/etc/upstart_cron_backup.sh

希望这会有所帮助。

您需要为此使用cron作业。 Cron作业可以按您设置的固定间隔运行。

您可以通过cron运行它...

SSH到您的托管服务提供商,并使用crontab -e转到crontab -e

并在每个使用wget的时间段设置cron。

wget [options] [url]

在Google上搜索有关如何正确执行此操作的问题

编辑:如果您无权访问SSH,并且您使用的是Windows,则可以设置计划任务,这是cron作业的瘫痪兄弟。 您可以运行将模拟wget的php脚本。 我建议将预定任务运行到* .bat文件,该文件通过控制台运行php

doThis.bat

php [script-location]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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