在直接管理员中使用cron作业调用php页面

时间:2013-09-28 16:22:23

标签: php cron

我有一个发送电子邮件的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文件。 谢谢

2 个答案:

答案 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

或使用http://cronless.com

等服务

<强>更新 如果您在控制面板中设置了一个cron作业但它没有运行,那么很可能您的Web主机禁用了它。

我的建议是使用像cronless这样的cron作业服务。