供应商的autoload_namespace.php中手动输入的路径无效

时间:2015-11-05 08:37:26

标签: php zend-framework2 composer-php

我在zf2的供应商目录中的autoload_namespaces.php中手动设置了一个路径,用于自定义库类文件,该文件在Windows本地系统中正常工作但是当我将其部署到Linux服务器时它停止工作并给出以下错误,请在我使用时找到以下代码。

autoload_namespaces.php file

\厂商\作曲家\ autoload_namespaces.php

$vendorDir = dirname(dirname(__FILE__));

$ baseDir = dirname($ vendorDir);

return array(
'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'),
'ZendXml\\' => array($vendorDir . '/zendframework/zendxml/library'),
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
'Cron' => array($vendorDir . '/cron/cron/src'),
'' => array($vendorDir . '/bitweb/stdlib/src', $vendorDir . '/bitweb/stdlib/test', $vendorDir . '/bitweb/zf2-cron-module/src', $vendorDir . '/bitweb/zf2-cron-module/test'),
'Ikey' => array($vendorDir . '/'),

);

库类路径路径 \厂商\艾奇\邮件\ Mail.php

我正在控制器中访问 $ ikey = new \ Ikey \ Mail \ Mail();

错误:\ Ikey \ Mail \ Mail类未找到

注意:请给我一个解决方案,为什么这在linux服务器上不起作用。

1 个答案:

答案 0 :(得分:2)

你提到的文件在标题中有这一行:

// autoload_namespaces.php @generated by Composer

这意味着你不应该手动编辑它。您应该做的是根据Composer documentation

编辑composer.json的自动加载部分

有些事情:

{
    "autoload": {
        "psr-0": {"Ikey\\": "Ikey/src/"}
    }
}