我需要在使用cpanel的共享主机上的codeigniter站点上设置cron作业。 cron脚本在通过浏览器运行时工作,但是,我首先尝试使用curl然后wget在cron中运行它,但这些都不起作用。最终我想通过php / cli运行这些工作。
至于为什么curl和wget方法不起作用,它是否与网站完全是SSL有关,而htaccess用于将所有http请求重写为https?说实话,我实际上并没有排除主持人可能因某些奇怪的原因而禁用cron的事实。
编辑:已经与主机核实过,cron运行正常!我在这里读了一篇关于cron和CI CLI的article,它给出了这个例子;
/usr/local/bin/php -f /home/clinic/public_html/index.php cron foo
我已尝试过该方法,但我的控制器位于子目录中,例如/controlers/utility/cron.php,我有CI设置不使用index.php那么我将如何以这种方式运行cron?
答案 0 :(得分:0)
您可以在index.php的参数中使用子目录,以达到您想要的控制器和方法:
php index.php utility/cron method_in_controller
答案 1 :(得分:0)
好的,这真的很尴尬。尽管多次检查脚本并确认它在浏览器中运行时仍然有效,但我忽略了无意中粘贴了身份验证功能的事实,并且当我在浏览器中登录时我能够执行cron脚本,但这是为什么当cron试图运行它时失败了。很抱歉浪费你的时间复杂857,非常感谢你的帮助!