【发布时间】:2015-07-24 01:09:01
【问题描述】:
我正在将 CakePHP 1.3 应用程序从旧服务器迁移到新服务器,网站运行正常,但 Shell 失败并出现以下错误:
PHP Fatal error: Class 'AppModel' not found
并且错误指向从 AppModel 类扩展的模型的声明。它还有些奇怪地将 AppModel 类的内容打印到标准输出。下面是完整的堆栈跟踪。
PHP Fatal error: Class 'AppModel' not found in /home/andyburchill/src/site/app/models/account.php on line 3
PHP Stack trace:
PHP 1. {main}() /home/andyburchill/src/site/cake/console/cake.php:0
PHP 2. ShellDispatcher->ShellDispatcher() /home/andyburchill/src/site/cake/console/cake.php:665
PHP 3. ShellDispatcher->dispatch() /home/andyburchill/src/site/cake/console/cake.php:139
PHP 4. Shell->initialize() /home/andyburchill/src/site/cake/console/cake.php:337
PHP 5. Shell->_loadModels() /home/andyburchill/src/site/cake/console/libs/shell.php:180
PHP 6. ClassRegistry->init() /home/andyburchill/src/site/cake/console/libs/shell.php:257
PHP 7. App->import() /home/andyburchill/src/site/cake/libs/class_registry.php:143
PHP 8. App->__find() /home/andyburchill/src/site/cake/libs/configure.php:962
PHP 9. App->__load() /home/andyburchill/src/site/cake/libs/configure.php:1043
PHP 10. require() /home/andyburchill/src/site/cake/libs/configure.php:1067
我正在使用以下命令从根目录运行 shell:
./cake/console/cake queue
服务器之间最显着的区别是 PHP 版本,shell 适用于 PHP 5.4.9 而不适用于 PHP 5.5.9。
我已经在谷歌上搜索了几天,通常人们在升级到 CakePHP 2.x 后似乎会收到此错误,并且修复程序不适用于 CakePHP 1.3。
我开始认为唯一的解决方案是升级到 2.x,但这不是一项简单的任务。
在此期间我可以做些什么来使其正常工作吗?任何人都可以提出故障排除提示吗?
【问题讨论】:
-
我对 cakephp 不熟悉,但如果您使用 composer,也许可以尝试运行
composer dumpautoload -o。否则,如果文件是命名空间的,您可能需要使用use关键字导入类。 -
谢谢,但是 cakephp 1.3 已经相当老了,并且早于作曲家和命名空间。
-
然后只需要类文件。
-
感谢您的帮助,我之前曾尝试过,但您的建议让我注意到了实际问题。
标签: php shell cakephp console cakephp-1.3