【问题标题】:CakePHP app working remotely but not on local machineCakePHP 应用程序远程工作,但不在本地机器上
【发布时间】:2011-06-20 17:02:55
【问题描述】:

我有一个一直在远程服务器上开发的 CakePHP 应用程序。远程服务器上一切正常。

我现在正尝试将它安装在全新安装 XAMPP 的机器上。蛋糕超时了。 Apache 工作正常 - 其他东西,例如 phpMyAdmin,工作正常。我通过端口 8000 运行 Apache,因为 IIS 使用端口 80。操作系统是 Windows Server 2003。

尝试访问应用程序时超时,并出现以下错误:

致命错误:C:\xampp\htdocs\cake\libs\debugger.php 第 247 行的最大执行时间超过 30 秒

我已关闭 URL 重写,但仍未解决问题。

我一直试图通过回显内容然后退出蛋糕核心中的脚本来追踪问题的根源。我发现当组件尝试加载时脚本超时(出现相同的错误)。我在 app_controller 中注释掉了我的组件数组,脚本运行得更远了。

现在,我已经追踪到这里了:

Dispatcher::dispatch();
Dispatcher::_invoke();
Controller::constructClasses();
Controller::loadModel();
ClassRegistry::init(); //called on line 635 of Controller in the "else" block of the if (PHP5) statement

在ClassRegistry::init()中,脚本在第141行超时,如下:

${$class} =& new $class($settings);

我不知道从这里去哪里!非常感谢您的帮助。

【问题讨论】:

  • 类注册表正在加载默认蛋糕库以及您添加的第三方库。您的服务器是否拥有本地开发系统所拥有的所有库?您应该查看 $class 超时时存储的字符串,这将是它无法加载的类。

标签: apache cakephp windows-server-2003 xampp


【解决方案1】:

我有你的问题。

要解决这个问题,你应该做两件事。

1) 尝试从配置文件更改 core.php 中的调试级别 2,然后将其更改为 0。 2)请从配置中启用此行。 core.php 中的第 57 行。 配置::write('App.baseUrl', env('SCRIPT_NAME'));

问候, 架构师。

【讨论】:

    【解决方案2】:

    好吧,在进一步关注问题之后,我发现问题出现在 Model::construct 中。原来我的 database.php 文件中的主机名是错误的!我本来预计会出现“无法连接到数据库...”错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多