我有一个在最近将我升级到PHP 5.4.x的共享主机上运行的CakePHP应用程序。在大多数情况下,一切都进展顺利,但现在我的炮弹不会运行:
CakePHP Console: This file has been loaded incorrectly and cannot continue.Please make sure that /cake/console is in your system path,and check the manual for the correct usage of this command.
进入cake/console/cake.php
,似乎在这个区块中发生了失败:
if (!isset($this->args[0]) || !isset($this->params['working'])) {
# debug($this->args);
# debug(isset($this->args[0]));
$this->stderr("\nCakePHP Console: ");
$this->stderr('This file has been loaded incorrectly and cannot continue.');
$this->stderr('Please make sure that ' . DIRECTORY_SEPARATOR . 'cake' . DIRECTORY_SEPARATOR . 'console is in your system path,');
$this->stderr('and check the manual for the correct usage of this command.');
$this->stderr('(http://manual.cakephp.org/)');
$this->_stop();
}
具体来说,$this->args
数组为空,因此没有0
索引。这个应用程序正在运行CakePHP 1.3.17。我检查了另一个运行1.3.16的应用程序,cake
脚本和cake.php
文件完全相同。但是,在1.3.16站点上,$this->args[0]
值已正确设置为要调用的脚本的路径。
任何想法为什么我新升级的网站都没有获得相同的价值?这是一个几个月没有被触及的应用程序。据我所知,唯一的变化是PHP升级,并且可以说明。
非常感谢任何见解。
答案 0 :(得分:0)
在升级PHP版本的过程中,我的主机决定使用我的php.ini文件玩游戏并且register_argc_argv
值已关闭。重新开启正是我所需要的。