我已经创建了一个PHP脚本,它将在10秒后通过提供的邮件列表连续发送邮件,但是如果我在我的网络浏览器中保持打开它会有效,但有没有办法在我的托管服务器上运行此脚本本身,所以我不需要总是保持我的浏览器和互联网连接,这个脚本将在服务器本身连续工作,虽然我的电脑已关闭?
答案 0 :(得分:2)
将其作为守护程序或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);
}
守护程序解决方案更灵活但难以实施。为此,您必须处理signal handling来处理 Ctrl + C 或KILL
信号,forking dameon,记录。
答案 1 :(得分:2)
假设您遇到命令字段问题,
在“要运行的命令:”字段中,输入脚本的完整路径(您可能需要与主机核实)。
如果你想运行一个php文件,该命令将以php开头。例如,如果要运行RSS Import来更新Pligg提要,则输入php和import_feeds.php文件的路径。
在AN Hosting上,您的路径看起来像这样:
php /home/[your username]/public_html/rss/import_feeds.php
如果你想运行自动备份脚本,它备份你的MySQL数据库并通过电子邮件发送副本给你(参见8个WordPress Bloggers(和其他人)的MySQL备份策略,策略#7),你输入/ bin / sh(因为这是一个shell脚本),以及脚本的路径
在AN Hosting上,您的路径看起来像这样:
/bin/sh /home/[your username]/etc/upstart_cron_backup.sh
希望这会有所帮助。
答案 2 :(得分:0)
您需要使用cron作业。 Cron作业可以按照您设定的定期间隔运行。
答案 3 :(得分:0)
你可以通过cron ...
运行它 SSH到您的托管服务提供商
并使用crontab -e
并在每个设定的时间内设置一个使用wget的cron。
wget [options] [url]
搜索谷歌如何正确地执行此操作
编辑:如果您无法访问SSH,并且您正在使用Windows,则可以设置计划任务,这是cron作业的残缺兄弟。你可以运行一个模拟wget的php脚本。我建议将计划任务运行到* .bat文件,该文件通过控制台运行php
doThis.bat
php [script-location]