【问题标题】:CakePHP 1.3 Shell can't find AppModel classCakePHP 1.3 Shell 找不到 AppModel 类
【发布时间】: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


【解决方案1】:

好吧,我现在觉得有点傻。

我之前尝试过 Raphael 关于需要类文件的建议,但我决定再试一次,并注意到 AppModel 类文件以一个短的打开标记而不是 <?php 开头。

更改后,shell 现在可以工作了。

【讨论】:

  • It also somewhat strangely prints the contents of the AppModel class to stdout 这是问题所在。该文件存在,但不包含任何(有效)php 代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2014-01-02
  • 2012-05-08
  • 2023-03-06
  • 1970-01-01
相关资源
最近更新 更多