Laravel psr-4不能自动加载

 twinklezai750 发布于 2022-12-25 17:46

我有一个Laravel项目在本地工作(Mavericks),但psr-4下的类没有加载到我们的舞台服务器(CentOS)上.每次尝试编辑器更新或运行工匠命令时,我都会收到Reflection"class not found"错误.

我的所有特定于应用程序的类都存储在app/heatherland下的Laravel项目中,例如:

app/heatherland/import/ImportJob.php (file contains HeatherLand\Import\ImportJob)

我的composer.json包含这个条目:

"autoload": {
    "classmap": [
        "app/commands",
        ...
        "app/database/seeds",
    ],
    "psr-4": {
        "HeatherLand\\": "app/heatherland"
    }
},

在本地,psr-4类被添加到vendor/composer/autoload_classmap.php中的数组中.它们不会添加到舞台服务器上的此文件中.如果我手动剪切并粘贴它们,artisan命令可以正常工作,但下次运行composer命令时,自动加载文件会被覆盖.本地和舞台上的autoload_psr4.php都有以下条目,对我来说很好看:

'HeatherLand\\' => array($baseDir . '/app/heatherland'),

这是我尝试/检查的东西列表:

类,文件夹和文件名的大小写是一致和正确的.

我一直在使用composer dump-autoload,有和没有-o选项

我可以使用--no-scripts选项运行composer update,但是artisan仍然无法运行

文件夹名称是小写的,我尝试更改它们以反映命名空间的情况(编辑:这从未发生过,至少没有成功).

我已经尝试从我的命名空间中删除CamelCase(例如,将其更改为Heatherland),并且我的任何文件夹/文件名中都没有任何下划线.

我正在运行PHP 5.4.30,而作曲家是最新的.我的本地设置和舞台服务器上的版本相同.Laravel 4.1.30.

两个系统中都没有重复的composer.phar

任何新的建议欢迎.在这一点上,如果我做了一些愚蠢的事,我会很高兴的.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有