【问题标题】:Fatal error: Class 'Zend\Loader\StandardAutoloader' not found致命错误:找不到类“Zend\Loader\StandardAutoloader”
【发布时间】:2013-09-12 13:47:29
【问题描述】:
require_once 'Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
$loader->register();

由于某种原因,我无法让上面的这三行代码工作。这是我所做的:

  1. 我使用 set_include_path 将 ZF2 库添加到了我的 include_path(在运行时)
  2. 我确认它工作正常。 调用 require_once 'Zend/Loader/StandardAutoloader.php';不返回任何错误消息

  3. 但是当我打电话时: $loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true)); $loader->register(); 我收到“致命错误:找不到类'Zend\Loader\StandardAutoloader'”错误。我很困惑为什么上述方法不起作用。我错过了什么吗?任何帮助将不胜感激。

【问题讨论】:

  • 这段代码是否在自定义命名空间中?尝试在类前加上反斜杠以指示根命名空间 -- new \Zend\Loader\StandardAutoloader()
  • Hrmmm 可能不是——在这种情况下,PHP 似乎在错误消息中包含了命名空间前缀。 (至少在 5.5 中)
  • 此代码不在自定义名称空间中。除了将 Zend 库添加到“init_path”的代码之外,这就是我在文件中的全部内容。一定少了点什么。此外,如果我删除 Zend\Loader 并调用类 StandardAutoloader(array('autoregister_zf' => true));直接,还是不行。
  • 我发现了问题所在。我的 php.ini 中有另一个 Zend 库 (1.X) 实例,它干扰了我安装的新 Zend 2.0。如果您在 php.ini 中全局定义它们,似乎两者不能共存

标签: zend-framework zend-framework2


【解决方案1】:

我的 php.ini 中有另一个 Zend 库 (1.X) 实例,它干扰了我安装的新 Zend 2.0。如果您在 php.ini 中全局定义了其中之一,它们似乎不能同时共存。如果您想同时运行两个版本,最好在运行时添加它们。

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    相关资源
    最近更新 更多