Php “自动装弹机等级”;Zend\Loader\ClassMapAutoLoader“;未加载
我正在使用PHP5.5.12编写Zend Framework 2.3.1应用程序 我的应用程序包含几个模块,在每个模块的module.php中Php “自动装弹机等级”;Zend\Loader\ClassMapAutoLoader“;未加载,php,zend-framework2,autoloader,Php,Zend Framework2,Autoloader,我正在使用PHP5.5.12编写Zend Framework 2.3.1应用程序 我的应用程序包含几个模块,在每个模块的module.php中 public function getAutoloaderConfig() { return array( 'Zend\Loader\ClassMapAutoLoader' => array( __DIR__ . '/autoload_classmap.php' ),
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoLoader' => array(
__DIR__ . '/autoload_classmap.php'
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
这是我看到的与ClassMapAutoLoader相关的唯一迹象
当我尝试运行应用程序时,我得到:
Fatal error: Uncaught exception 'Zend\Loader\Exception\InvalidArgumentException' with message 'Autoloader class "Zend\Loader\ClassMapAutoLoader" not loaded' in /mnt/storage/home/ufk/work-projects/global-logic/project/xpogames/vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory.php on line 85
知道为什么吗?Module.php自动加载与ZF2自动加载无关 如何安装ZF2?我想你是自己安装的,而不是用作曲器 在ZendSkeletonApp中有一些示例,介绍了如何自动加载ZF2本身: 将此部分包含在public/index.php中
我和你有同样的问题,我找出了问题的原因:
'Zend\Loader\ClassMapAutoLoader' => array(
__DIR__ . '/autoload_classmap.php'
),
需要:
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php'
),
自动装弹机中的小L。我们本不该去的时候都去了。这为我澄清了一切。让我知道它是否适合您。我使用composer安装了ZF2。我检查过了,我的init_autoloader.php和index.php与git中的相同。如果您使用composer安装了它,那么应该是file vendor/autoload.php,如果包含了它,所有这些都应该可以工作。当我从getAutoloaderConfig中删除Zend\Loader\ClassMapAutoLoader时,问题就消失了。如果您注释掉class map autoloader部分(只留下标准autoloader)是否有效?我看到了与您相同的问题。当我尝试运行条令模块CLI来更新数据库架构时,会出现这些错误。有趣的是,我没有在我的本地机器上得到这些错误,但是一旦我把所有的东西都转移到一个临时服务器上,我就得到了这些错误…发现了问题。在下面添加答案。