Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用cronjob触发PHP Codeigniter_Php_Mysql_Codeigniter_Cron - Fatal编程技术网

无法使用cronjob触发PHP Codeigniter

无法使用cronjob触发PHP Codeigniter,php,mysql,codeigniter,cron,Php,Mysql,Codeigniter,Cron,我在Codeigniter站点上有一个电子邮件解析脚本,我想每天用cronjob触发它。我对cronjobs或远程服务器上的命令行没有太多经验 我在mysite.com/public_html/application/controllers/cronJobs上有一个cronJobs控制器。其中有一个parseMail方法。我还使用mod_rewrite从URL中删除index.php 当我通过MYSITE.com/cronJobs/parseMail上的浏览器“正常”点击控制器时,parseMa

我在Codeigniter站点上有一个电子邮件解析脚本,我想每天用cronjob触发它。我对cronjobs或远程服务器上的命令行没有太多经验

我在mysite.com/public_html/application/controllers/cronJobs上有一个cronJobs控制器。其中有一个parseMail方法。我还使用mod_rewrite从URL中删除index.php

当我通过MYSITE.com/cronJobs/parseMail上的浏览器“正常”点击控制器时,parseMail方法确实起作用。有一个数据库插入发生故障

但要用cronjob触发它,我尝试了>>>

wget http://MYSITE.com/cronJobs/parseMail
我确实收到了一封通知邮件。。但我不知道如何解释它。找到剧本了吗?没有错误吗?无论如何,parseMail不会启动

--2013-01-19 12:00:02-- http://MYSITE.com/cronJobs/parseMail
Resolving MYSITE.com... xx.xx.xx.xxx
Connecting to MYSITE.com|xx.xx.xx.xxx|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [text/html]
Saving to: `parseMail.203'

0K 0.00 =0s

2013-01-19 12:00:03 (0.00 B/s) - `parseMail.203' saved [0/0]
我也试过了

-q wget http://MYSITE.com/cronJobs/parseMail
并收到“/bin/sh:get:未找到命令”

然后我也尝试了这方面的变化

/usr/local/bin/php -q /public_html/index.php cronJobs parseMail
/usr/local/bin/php -q /public_html/ cronJobs parseMail
/usr/local/bin/php -q home/myusername/public_html/index.php cronJobs parseMail
/usr/local/bin/php -q home/myusername/public_html/ cronJobs parseMail
用这些方法,我甚至连控制器都打不到。我的电子邮件通知只是说“无法打开输入文件”

我只是对这些错误都不太熟悉。。所以我不知道如何找到解决办法


谁能给我一些前进的建议吗?

你的道路都不是真正的道路。它们要么是无效的(
/public\u html
one),要么是相对的(
home/myusername
one)。下面应该做些什么

/usr/bin/env php  /home/myusername/public_html/index.php cronJobs parseMail
您可能需要先将目录更改为文档根目录。在这种情况下,使用这个

(cd /home/myusername/public_html/ &&  /usr/bin/env php index.php cronJobs parseMail)

没有一条路径是真正的路径。它们要么是无效的(
/public\u html
one),要么是相对的(
home/myusername
one)。下面应该做些什么

/usr/bin/env php  /home/myusername/public_html/index.php cronJobs parseMail
您可能需要先将目录更改为文档根目录。在这种情况下,使用这个

(cd /home/myusername/public_html/ &&  /usr/bin/env php index.php cronJobs parseMail)

已解决

通过谷歌搜索,我找到了适合我的解决方案。这是我使用的(我第一次尝试时非常接近……只是没有使用绝对路径。然后当我开始使用下面评论中的一些建议时,php路径不同,我没有注意到)

这是正确的版本

/usr/local/bin/php /home/myusername/public_html/index.php cronJobs parseMail

已解决

通过谷歌搜索,我找到了适合我的解决方案。这是我使用的(我第一次尝试时非常接近……只是没有使用绝对路径。然后当我开始使用下面评论中的一些建议时,php路径不同,我没有注意到)

这是正确的版本

/usr/local/bin/php /home/myusername/public_html/index.php cronJobs parseMail

谢谢你的帮助。。您的第一个建议为我提供了>>状态:404未找到内容类型:text/html未指定输入文件。您将在哪里安装此cron?我只是浏览一下cPanel cronjob管理器。。但这很有趣。。现在在我的通知电子邮件中,我得到了index.php的HTML。。从ci_会话cookie开始,然后继续浏览页面的所有代码。。。但是仍然没有parseMail DB Insert不知道cPanel。您可以使用
$HOME
而不是
/HOME/myusername
。cPanel可能会隐藏此路径。但是我不确定它是否有效。谢谢你的帮助。。您的第一个建议为我提供了>>状态:404未找到内容类型:text/html未指定输入文件。您将在哪里安装此cron?我只是浏览一下cPanel cronjob管理器。。但这很有趣。。现在在我的通知电子邮件中,我得到了index.php的HTML。。从ci_会话cookie开始,然后继续浏览页面的所有代码。。。但是仍然没有parseMail DB Insert不知道cPanel。您可以使用
$HOME
而不是
/HOME/myusername
。cPanel可能会隐藏此路径。但我不确定它是否有效。