我已经从 1.3 升级到 2.1.1,现在我似乎遇到了路径错误。关于运行升级外壳后需要进行哪些更改,是否有很好的参考指南?
我尝试更新核心路径以查看“lib/Cake”,
define('CAKE', CORE_PATH . DS.'lib'.DS. 'Cake' . DS);
但后来我开始收到包含错误。
致命错误:在第 143 行的 C:\inetpub\wwwroot\phpDev\lib\Cake\bootstrap.php 中找不到类“配置”<<
通过 App::uses() 在 bootstrap.php 中添加的核心组件失败(即使 App.php 需要 6 行以上)。
require CAKE . 'basics.php';
require CAKE . 'Core' . DS . 'App.php'; // App::uses() should work
require CAKE . 'Error' . DS . 'exceptions.php';
spl_autoload_register(array('App', 'load'));
App::uses('ErrorHandler', 'Error');
App::uses('Configure', 'Core'); //configure is included
App::uses('CakePlugin', 'Core');
App::uses('Cache', 'Cache');
App::uses('Object', 'Core');
App::$bootstrapping = true;
Configure::bootstrap(isset($boot) ? $boot : true); //this fails (line 143)
我在想我遗漏了一些东西,因为一旦我弄清楚核心路径,bootstrap、Configure.php、App.php 和 core.php 引用应该是一个全有或全无的修复。任何见解将不胜感激。
*** 更新 ****
在做了更多研究以查看其他人是否遇到过之后,我希望这是一个缓存问题。已清除持久性缓存文件但未缓存...
经过多次迭代要求 App::uses() 无法提供的文件后,我的 lib/Cake/bootstrap.php 代码如下所示
require CAKE . 'basics.php';
require CAKE . 'Core' . DS . 'App.php';
require CAKE . 'Core' . DS . 'Object.php';
require CAKE . 'Error' . DS . 'exceptions.php';
require CAKE . 'Error' . DS . 'ErrorHandler.php';
require CAKE . 'Error' . DS . 'ErrorHandler.php';
require CAKE . 'Core' . DS . 'Configure.php';
require CAKE . 'Core' . DS . 'CakePlugin.php';
require CAKE . 'Cache' . DS . 'Cache.php';
require CAKE . 'Routing' . DS . 'Dispatcher.php';
require CAKE . 'Utility' . DS . 'Debugger.php';
require CAKE . 'Utility' . DS . 'Set.php';
require CAKE . 'Utility' . DS . 'String.php';
spl_autoload_register(array('App', 'load'));
/*App::uses('ErrorHandler', 'Error');
App::uses('Configure', 'Core');
App::uses('CakePlugin', 'Core');
App::uses('Cache', 'Cache');
App::uses('Object', 'Core');*/
警告 (4096):传递给 Dispatcher::dispatch() 的参数 1 必须是 CakeRequest 的实例,没有给出,在第 84 行的 C:\inetpub\wwwroot\phpDev\app\webroot\index.php 中调用并定义 [CORE \lib\Cake\Routing\Dispatcher.php,第 69 行]
警告 (4096):传递给 Dispatcher::dispatch() 的参数 2 必须是 CakeResponse 的实例,没有给出,在第 84 行的 C:\inetpub\wwwroot\phpDev\app\webroot\index.php 中调用并定义 [CORE \lib\Cake\Routing\Dispatcher.php,第 69 行]
注意(8):未定义变量:request [CORE\lib\Cake\Routing\Dispatcher.php,第 70 行]
注意(8):试图获取非对象的属性 [CORE\lib\Cake\Routing\Dispatcher.php,第 70 行]
注意 (8):未定义变量:响应 [CORE\lib\Cake\Routing\Dispatcher.php,第 70 行]
警告 (4096):传递给 Dispatcher::asset() 的参数 2 必须是 CakeResponse 的实例,给定 null,在第 70 行的 C:\inetpub\wwwroot\phpDev\lib\Cake\Routing\Dispatcher.php 中调用并定义[CORE\lib\Cake\Routing\Dispatcher.php,第 236 行]
注意(8):未定义变量:request [CORE\lib\Cake\Routing\Dispatcher.php,第 70 行]
致命错误:在第 70 行的 C:\inetpub\wwwroot\phpDev\lib\Cake\Routing\Dispatcher.php 中的非对象上调用成员函数 here()
所以我什至没有得到蛋糕请求对象?App::uses() 被破坏也没有任何意义,因为我看到它实际包含在哪里,并且该方法的代码在那里。
我在想我忽略了一些东西。我对核心不是很熟悉,因为到目前为止我只是一个即插即用的开发人员。1.3 就像一个魅力,但我想在添加更多开发之前升级。我感谢所有建议。