Zend framework2 composer自动加载在生产服务器上不工作

Zend framework2 composer自动加载在生产服务器上不工作,zend-framework2,composer-php,Zend Framework2,Composer Php,我已经使用composer在本地设置了一个项目,以自动加载我的供应商和模块。 这是在运行Nginx的windowsxp机器上完成的 当我将所有内容同步到生产服务器,运行LAMP时,自动加载器停止工作,我调用的每个类都找不到 由于这是一个共享主机,我无法运行composer.phar update来尝试刷新类映射命名空间 有人知道会发生什么吗 +信息: <?php // autoload_namespaces.php generated by Composer $vendorDir =

我已经使用composer在本地设置了一个项目,以自动加载我的供应商和模块。 这是在运行Nginx的windowsxp机器上完成的

当我将所有内容同步到生产服务器,运行LAMP时,自动加载器停止工作,我调用的每个类都找不到

由于这是一个共享主机,我无法运行composer.phar update来尝试刷新类映射命名空间

有人知道会发生什么吗

+信息:

<?php

// autoload_namespaces.php generated by Composer

$vendorDir = dirname(__DIR__);
$baseDir = dirname(dirname($vendorDir));

return array(
    'Zend\\' => $vendorDir . '/zendframework/zendframework/library/',
    'ZendTest\\' => $vendorDir . '/zendframework/zendframework/tests/',
    'Symfony\\Component\\Console' => $vendorDir . '/symfony/console/',
    'Doctrine\\ORM' => $vendorDir . '/doctrine/orm/lib/',
    'Doctrine\\DBAL' => $vendorDir . '/doctrine/dbal/lib/',
    'Doctrine\\Common' => $vendorDir . '/doctrine/common/lib/',
    'DoctrineORMModule\\' => $vendorDir . '/doctrine/doctrine-orm-module/src/',
    'DoctrineORMModuleTest\\' => $vendorDir . '/doctrine/doctrine-orm-module/tests/',
    'DoctrineModule\\' => $vendorDir . '/doctrine/doctrine-module/src/',
    'DoctrineModuleTest\\' => $vendorDir . '/doctrine/doctrine-module/tests/',
    'Application\\' => $baseDir . '/module/Application/src',
);



<?php

// autoload_classmap.php generated by Composer

$vendorDir = dirname(__DIR__);
$baseDir = dirname(dirname($vendorDir));

return array(
);
++信息:

spl_autoload_functions:

Array
(
    [0] => Array
        (
            [0] => Composer\Autoload\ClassLoader Object
                (
                    [prefixes:Composer\Autoload\ClassLoader:private] => Array
                        (
                            [Zend\] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/zendframework/zendframework/library/
                                )

                            [ZendTest\] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/zendframework/zendframework/tests/
                                )

                            [Symfony\Component\Console] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/symfony/console/
                                )

                            [Doctrine\ORM] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/doctrine/orm/lib/
                                )

                            [Doctrine\DBAL] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/doctrine/dbal/lib/
                                )

                            [Doctrine\Common] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/doctrine/common/lib/
                                )

                            [DoctrineORMModule\] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/doctrine/doctrine-orm-module/src/
                                )

                            [DoctrineORMModuleTest\] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/doctrine/doctrine-orm-module/tests/
                                )

                            [DoctrineModule\] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/doctrine/doctrine-module/src/
                                )

                            [DoctrineModuleTest\] => Array
                                (
                                    [0] => /home/XXXX/public_html/vendor/doctrine/doctrine-module/tests/
                                )

                            [Application\] => Array
                                (
                                    [0] => /home/XXXX/public_html/module/Application/src
                                )

                        )

                    [fallbackDirs:Composer\Autoload\ClassLoader:private] => Array
                        (
                        )

                    [useIncludePath:Composer\Autoload\ClassLoader:private] => 
                    [classMap:Composer\Autoload\ClassLoader:private] => Array
                        (
                        )

                )

            [1] => loadClass
        )

)

解决方案是用/在所有模块自动加载程序中替换名称空间中的所有\

那么这个,

public function getAutoloaderConfig() {
        return array(
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . str_replace('\\', '/', __NAMESPACE__),
                ),
            ),
        );
    }

将在灯机上按预期工作

解决方案是用/在所有模块自动加载程序中替换名称空间中的所有\

那么这个,

public function getAutoloaderConfig() {
        return array(
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . str_replace('\\', '/', __NAMESPACE__),
                ),
            ),
        );
    }

将在灯机上按预期工作

您是否也上载了供应商/编写器文件夹?@BramGerritsen是的,我没有上载您的
autoload_classmap.php
autoload_namespace.php
看起来正确吗?您是否尝试将
die()
放入
vendor/autoload.php
中,以查看是否加载了您的composer autoloader?@BramGerritsen它们看起来正确,并且自动加载正确。我已经从文件和$loader输出中打印了一些内容。您的主机是否有助于使用xdebug进行远程调试?如果没有,则需要手动
var\u dump()
die()
print\r()
:)。在
vendor/composer/ClassLoader.php中的
findFile()
方法中放置一些转储。特别是在循环中,前缀是迭代的。你也上传了供应商/作曲家文件夹吗?@BramGerritsen是的,我做了你的
autoload\u classmap.php
autoload\u namespace.php
看起来正确吗?您是否尝试将
die()
放入
vendor/autoload.php
中,以查看是否加载了您的composer autoloader?@BramGerritsen它们看起来正确,并且自动加载正确。我已经从文件和$loader输出中打印了一些内容。您的主机是否有助于使用xdebug进行远程调试?如果没有,则需要手动
var\u dump()
die()
print\r()
:)。在
vendor/composer/ClassLoader.php中的
findFile()
方法中放置一些转储。尤其是在循环中,前缀是迭代的。