我有一个发送电子邮件的php文件,当我用浏览器打开页面时它工作正常。 (test.php位于我的网站的根目录中)但我希望页面每天自动运行一次。我发现这是使用cron作业完成的。我搜索了很多并测试了很多命令和配置,但没有一个工作。 我在所有时间字段中使用*假设它将每分钟运行一次(我不想等待数小时来测试每个配置) 我测试了以下命令和许多其他我不记得的命令:
/usr/bin/php -q http://mysite.com/test.php
/usr/bin/home/php -q http://mysite.com/test.php
/usr/local/bin/php -q http://mysite.com/test.php
/home/myID/php -q http://mysite.com/test.php
#!/usr/local/bin/php -q http://mysite.com/test.php
#!/usr/local/bin/php -q /home/myID/mysite.com/public_html/test.php
最后,我无法弄清楚我做错了什么。 主机是运行Direct Admin的共享linux主机。
请告诉我一个简单的分步指南,设置cron作业来运行我的php文件。 谢谢
答案 0 :(得分:0)
如果您要通过http运行脚本,则不想调用PHP二进制文件。你想使用wget(或curl)。例如:
*/5 * * * * user /usr/bin/wget http://yoursite.com/cron.html -q -O /dev/null
其中user是运行该命令的OS用户。
如果您没有这样的权限(共享主机),请更改为使用某个提供商的VPS实例或使用https://www.setcronjob.com/等在线cronjob服务。
答案 1 :(得分:0)
您可以使用lynx命令行浏览器打开页面:
lynx -dump http://www.google.com/ > /dev/null
等服务
<强>更新强> 如果您在控制面板中设置了一个cron作业但它没有运行,那么很可能您的Web主机禁用了它。
我的建议是使用像cronless这样的cron作业服务。