排除Codeigniter CLI故障

时间:2015-10-05 18:57:43

标签: php wordpress codeigniter email command-line-interface

我一直在使用CLI界面从我的codeigniter页面发送cron作业。它工作正常,直到我昨天更新Wordpress。我不知道这对Codeigniter有什么影响,但是当麻烦开始的时候。我几乎同时安装了cURL。我不确定这是否会产生影响。

症状: 我的codeigniter CLI脚本都不起作用。我有两个脚本发送电子邮件提醒,另一个脚本同步我的数据库和无功能。

错误: 当我尝试运行我的脚本时出现了一些错误:

Use of undefined constant __DIR__ - assumed '__DIR__'

以前这不是问题。但是现在我将其改为

dirname(__FILE__) 

这似乎有所帮助。至少那个错误停止了。

接下来,我的脚本中的代码出现了另一个错误通知,我之前没有得到:“无法在写入上下文中使用方法返回值...”

这个错误引用了这行代码:

if (!empty($this->get_available_hours($date, $provider_id))) {

我将其修改为

$availabehours=$this->get_available_hours($date, $provider_id);
if (!empty($availabehours)) {

错误停止了。但脚本通常会发送有关可用性的电子邮件,但不会发送电子邮件。

现在我没有错误。我运行脚本,但没有结果。如果我故意弄乱代码并做错了,我会收到相应的错误消息。所以,在某种程度上它正在读取文件。

我试着运行一个简单的“hello world file”,如下所述 https://ellislab.com/codeigniter/user-guide/general/cli.html 没有任何回报。

我尝试了一个简单的电子邮件脚本,可以在不访问我的数据库的情况下发送电子邮件,而且它没有向我发送任何内容。

它让我觉得有些东西导致我的代码被解释为旧版本的php。所以我查看了当前运行的版本: 当我在PuTTY登录终端时,我得到: PHP 5.2.17(cli)(建于2012年2月23日10:42:34) 版权所有(c)1997-2010 PHP小组 Zend Engine v2.2.0,版权所有(c)1998-2010 Zend Technologies 过时了......

但是当我在WinSCP中查看终端时,我得到: PHP 5.5.28(cli)(建于2015年9月4日12:07:49) 版权所有(c)1997-2015 PHP小组 Zend Engine v2.5.0,版权所有(c)1998-2015 Zend Technologies Zend Technologies的Zend OPcache v7.0.6-dev,Copyright(c)1999-2015,

这是最新的。

运行它的工作原理:php -r'echo“Hello World!\ n”;'

我的问题: 1)我可以运行哪些测试来找出CLI的阻塞内容? 任何提示将不胜感激。 2)为什么我会看到两个不同版本的PHP,具体取决于我正在运行的终端,这可能是我的问题的原因?

0 个答案:

没有答案