代码之家  ›  专栏  ›  技术社区  ›  Andrew Burchill

CakePHP 1.3 Shell找不到AppModel类

  •  0
  • Andrew Burchill  · 技术社区  · 9 年前

    我正在将CakePHP 1.3应用程序从旧服务器迁移到新服务器,该网站运行良好,但Shell失败,出现以下错误:

    PHP Fatal error:  Class 'AppModel' not found
    

    错误指向从AppModel类扩展的模型的声明。它还有些奇怪地将AppModel类的内容打印到stdout。下面是完整的堆栈跟踪。

    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,但这不是一项微不足道的任务。

    我能在这段时间里做些什么吗?,有人能建议故障排除技巧吗?。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Andrew Burchill    9 年前

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

    我之前尝试过Raphael提出的要求类文件的建议,但我决定再试一次,并注意到AppModel类文件以一个简短的open标记开始,而不是 <?php .

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