我需要在每天的预定时间运行一个php脚本来更新数据库中的某些字段并发送自动电子邮件。我怎么能这样做?
是否可以在XAMP服务器中编写一些服务以在预定时间每天运行脚本?我不知道如何更新数据库并在预定时间自动发送电子邮件。任何人都可以分享一些想法或概念吗?
我正在使用在Linux服务器上运行的PHP和MySQL。
答案 0 :(得分:3)
您应该使用Cron作业来执行此操作。查看the Wikipedia page上的示例。
Cron作业应该使用运行必要任务的php
可执行文件来调用脚本。
答案 1 :(得分:2)
只需创建执行所需作业的脚本,一旦确定它正常工作,就可以通过在浏览器中点击URL来测试它。复制网址并添加Cronjob
然后安排此命令在您想要运行的任何时间运行
php ABSOLUTE_URL_TO_SCRIPT >> logfile
日志文件是可选的。但它会让你有机会看到发生了什么。
例如,如果您希望每4小时运行一次脚本,并假设您的脚本位于http://localhost/work/scripty.php并假设您的http根目录是/ var / www,
您将在终端中运行“crontab -e”并添加以下行:
* */4 * * * php /var/www/work/scripty.php
如果您需要更多信息,请注释我会更新答案。
答案 2 :(得分:0)
在Linux中,我们可以创建.sh文件,并可以给出一个特定的时间来运行,称为cron作业。 所以应该使用这个方法只做一个shell文件并给它一个时间段。 你应该为linux专家提供帮助。
使用以下内容:Cron Job
答案 3 :(得分:0)
PHP无法自行运行脚本,因为php没有像python这样的守护进程! 因此,您必须获取OS帮助才能调用自定义脚本。
例如在linux中: (example.sh) export USE_PHP = php cd $ SCRIPT_ROOTDIR $ USE_PHP -f cronfile.php service =“checkdatabase” (service是传递给cronfile的参数)。
要设置cron作业,请查看此链接 http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/