CodeIgniter + 命令行 + Cron + Cpanel
Posted
技术标签:
【中文标题】CodeIgniter + 命令行 + Cron + Cpanel【英文标题】:CodeIgniter + Command Line + Cron + Cpanel 【发布时间】:2012-05-06 13:06:42 【问题描述】:已解决: 废话......为什么在你最终决定寻求帮助之后,你总是想出一些东西!
如果其他人遇到此问题,请尝试从 /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? Responders 建议这是 Cpanel 的问题(我现在正试图用它来设置 cron 作业),但与我的托管服务提供商交谈时,他们说整个命令正在运行。尽管如此,CI 并没有获取控制器的 URI。我还检查以确保 base_url 设置正确(文件通过 URL 调用可以正常工作证明了这一点)。
有什么想法吗?我似乎无法弄清楚为什么在命令行格式时它没有抓取 URI:/usr/bin/php index.php controller_class 方法
【问题讨论】:
【参考方案1】:这就是答案:
使用/usr/local/bin/php
而不是/usr/bin/php
让codeigniter 接收URI 段。
【讨论】:
太棒了——太棒了!解决了我的确切问题 - 非常感谢 谢谢!为了给那些第一次遇到这个问题的人节省一步,命令的完整语法应该是这样的:/usr/local/bin/php /home/mydomainusername/public_html/index.php 控制器方法 谢谢你终于拿起了文件,但我得到了Could not open input file
for the index.php 文件【参考方案2】:
这里是解决方案,首先你需要从 phpinfo document_root 路径中找到路径
php5 /home/abc/public_html/index.php 文件夹名称控制器名称函数名称
100% 正常工作
【讨论】:
【参考方案3】:我很高兴你能成功,迈克。我遇到了类似的问题,最后在 cPanel 主机上运行的最近项目中使用了CI Cron Job Bootstrapper。我只是发布这个以防它帮助别人。
【讨论】:
CI Cron Job Bootstrapper 的链接断开【参考方案4】:对我来说,这是有效的:
php54 -f /home/cpanel_user/public_html/index.php controller function
【讨论】:
虽然这段代码可以回答这个问题,但最好包含一些上下文,解释它是如何工作的以及何时使用它。从长远来看,纯代码的答案没有用处。以上是关于CodeIgniter + 命令行 + Cron + Cpanel的主要内容,如果未能解决你的问题,请参考以下文章