php - CakePHP "Fatal error: Class ' 在不引用调试器的文件中找不到“调试器”

标签 php cakephp-2.0 public

我从一个未引用 Debugger 类的文件中得到标题中引用的错误。如果我手动导入 Debugger,错误仍然出现。最后一个 } 结束文件中类定义的错误中引用的行号。 } 后面没有任何内容(也没有 ?>)。据我所知,我收到错误的文件没有直接引用 Debugger(因为没有明确使用 Debugger)。

这是堆栈跟踪:

( ! ) Fatal error: Class 'Debugger' not found in /home/gregg/workspace/Fueled/dapprly/backend/app/Plugin/Facebook/Controller/Component/FapiComponent.php on line 107
Call Stack
#   Time    Memory  Function    Location
1   0.0003  245664  {main}( )   ../index.php:0
2   0.0168  1657712 Dispatcher->dispatch( ) ../index.php:100
3   0.0237  2753568 Dispatcher->_invoke( )  ../Dispatcher.php:85
4   0.0237  2753768 Controller->constructClasses( ) ../Dispatcher.php:99
5   0.0237  2755712 ComponentCollection->init( )    ../Controller.php:638
6   0.0255  3057112 ComponentCollection->load( )    ../ComponentCollection.php:52
7   0.0255  3057600 class_exists ( )    ../ComponentCollection.php:99
8   0.0255  3057896 App::load( )    ../ComponentCollection.php:0
9   0.0257  3091416 ErrorHandler::handleError( )    ../ComponentCollection.php:551

这是第 107 行的上下文:

class FapiComponent extends Component {
    // -- snip -- //

    public function method()
    {
        $url = urlencode('http://url');

        $param = array(
        'access_token' => '##' ,
        'object' => 'user',
        'fields' => 'feed', 
        'callback_url' => $url);
        $id = $this->facebook->getAppId();
        $subs = $this->facebook->api('/' . $id . '/subscriptions' , 'POST' , $param);
    }
} // <-- line 107 ... nothing after this

最佳答案

这是由于 PHP bug没有为编译时错误执行自动加载(例如,E_STRICT)。

这已在 PHP 5.4.21 中修复和一个 workaround pull request被 CakePHP 接受。

要手动解决此问题并从 CakePHP 的错误处理程序中免除 E_STRICT:

  1. 在您喜欢的编辑器中打开 core.php(您可以通过执行类似 find . -name core.php 的操作找到该文件)。
  2. 找到以下行:'level' => E_ALL & ~E_DEPRECATED,
  3. 将其替换为:'level' => E_ALL & ~E_DEPRECATED & ~E_STRICT,

关于php - CakePHP "Fatal error: Class ' 在不引用调试器的文件中找不到“调试器”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10415181/

相关文章:

php - 查询和 while 循环出错

java - 在 Java 中,使对象的成员公开可用是不是一个坏主意?

jquery - isAjax() 是 CakePHP 2.0 上已弃用的方法。什么方法可以替代那个方法?

javadoc 子集/java 库组织

java - 为什么 Junit 测试用例(方法)应该公开?

php - 无法在 php 网站上加载 predis

php - 如何运行 symfony 项目

php - 从codeigniter中的路径获取文件名

cakephp - 尝试使用 Xml 实用程序类

cakephp - find() 基于多个 HABTM 关系中的条件