CodeIgniter +命令行+ Cron + Cpanel

时间:2012-04-25 19:39:28

标签: php codeigniter cron cpanel

解决: 废弃物...为什么在你最终决定寻求帮助之后,你总能想出一些正确的东西!

如果其他人遇到此问题,请尝试从/ usr / local / bin / php而不是/ usr / bin / php运行,以获取codeigniter以获取URI段。

问题

我有最新的codeigniter安装,一切似乎在本地工作正常。我最近把我的文件放在我的服务器上,除了我的cron命令之外的所有东西都在工作。

当我尝试通过cron调用控制器时(如此处所述:http://codeigniter.com/user_guide/general/cli.html),我没有得到控制器。相反,我得到的输出只是我的默认控制器(登录页面)。

这在本地工作正常,并且index.php被调用,因为我正在通过电子邮件发送默认页面的输出。

有人在这里问了一个类似的问题:CodeIgniter Cron Job on Shared Hosting?响应者提出这是Cpanel的一个问题(我现在正在尝试使用它来设置cron作业),但是与我的托管服务提供商交谈,他们说整个命令正在运行。然而,CI并没有抓住控制器的URI。我还检查了以确保base_url设置正确(通过URL调用文件正常工作证明了这一点。)

有什么想法?我似乎无法弄清楚为什么在命令行格式时它没有抓取URI:/ usr / bin / php index.php controller_class method

4 个答案:

答案 0 :(得分:17)

这就是答案:

使用/usr/local/bin/php代替/usr/bin/php来获取codeigniter以获取URI细分。

答案 1 :(得分:1)

首先,您需要从phpinfo document_root路径

中找到路径

php5 /home/abc/public_html/index.php folder_name controller_name function_name

它100%正常工作

答案 2 :(得分:0)

我很高兴你让Mike工作了。我遇到了类似的问题,并最终在最近在cPanel主机上运行的项目中使用了CI Cron Job Bootstrapper。我只是发布这个,它可以帮助其他人。

答案 3 :(得分:0)

对我而言,这是有效的:

php54 -f /home/{cpanel_user}/public_html/index.php controller function