我正在尝试设置 CRON 作业,以便在 CodeIgniter 安装上进行一些数据库更改,并在主机上遇到阻止其正常工作的问题。主机的CRON设置只允许您执行PHP文件而不是调用URL。
我尝试了什么:
来自静态PHP文件的 Curl, wget, file_get_contents, fopen, http_get
- 主机不允许
/path/to/php /path/to/index.php
控制器方法 - 使用命令行界面
与主持人谈话后,我没有想法。有没有人知道如何在没有上述内容的情况下从静态PHP文件中调用控制器方法?
答案 0 :(得分:1)
首先,我假设您正在使用CI ver 2> (之前没有CLI支持)。
其次,假设您尝试在cron下触发的页面为http://www.mysite.com/index.php/cronjobs/thejob
正确的命令是:
/usr/bin/php /var/www/rootCIfolder/index.php cronjobs thejob
将/usr/bin/php
替换为php可执行文件的位置,将/var/www/rootCIfolder
替换为CI文件夹的位置。
你需要使用命令行支持编译php。您可以通过以下方式验证:
# php -v
PHP 5.3.3 (cli) (built: Jul 3 2012 16:53:21)