0

我需要在使用 cpanel 的共享主机上的 codeigniter 站点上设置 cron 作业。cron 脚本在通过浏览器运行时可以工作,但是,我首先尝试使用 curl 和 wget 在 cron 中运行它,但这些都不起作用。最终我会想通过 php/cli 运行这些作业。

至于为什么 curl 和 wget 方法都不起作用,会不会和网站完全是 SSL 的,并且使用 htaccess 将所有 http 请求重写为 https 的事实有关?老实说,我实际上并没有排除主机可能出于某种奇怪的原因禁用了 cron 的事实。

编辑:已与主机核对,cron 运行良好!

我在这里读了一篇关于 cron 和 CI CLI 的文章,它给出了这个例子;

/usr/local/bin/php -f /home/clinic/public_html/index.php cron foo

我已经尝试过这种方法,但是我的控制器在一个子目录中,例如 /controlers/utility/cron.php 并且我有 CI 设置不使用 index.php 那么我将如何以这种方式运行 cron 呢?

4

2 回答 2

0

好吧,这真的很尴尬。尽管多次检查脚本并确认它在浏览器中运行时有效,但我忽略了一个事实,即无意中粘贴了身份验证功能,并且当我在浏览器中登录时,我能够执行 cron 脚本,但这就是为什么当 cron 尝试运行它时它失败了。很抱歉浪费您的时间 complex857,非常感谢您的帮助!

于 2013-06-17T20:07:04.177 回答
0

您可以像这样在 index.php 的参数中使用子目录来访问您想要的控制器和方法:

php index.php utility/cron method_in_controller
于 2013-06-17T06:15:03.880 回答