php - Composer Autoload.php 未在实时托管的命名空间和类中加载

标签 php .htaccess composer-php autoloader psr-4

我有一个简单的 PHP 网络应用程序,其结构如下:

/         (composer.json .htaccess ...)  
/Core/    (Router.php, Controller.php ...)    
/App/     (/Controllers, /Models, /Views ...)    
/Public/  (index.php ...)  
/Vendor/  (autoload.php /composer ...)  

代码在我的本地服务器上运行没有问题。

当我将它复制到实时服务器并对路由中的 .htaccess 进行必要的更改时,我收到以下错误: fatal error :在...中找不到类“Core\Router”。我尝试了 3 个不同的主机,但是没有运气。

问题似乎与 composer autoload 函数没有使用 psr-4 加载到命名空间和类中有关。我在我的 composer.json 文件中设置了这个:

{
"autoload": {
    "psr-4": {
         "Core\\": "Core/",
         "App\\": "App/"
    }
}

我项目的代码在 GitHub 上

https://github.com/imoprojects/upbook

我是 MVC 结构编程的新手,也是以这种方式使用 composer 的新手。

如果有人可以协助解决可能发生的事情,我将不胜感激。

干杯, 伊恩

最佳答案

你配置这个:

"Core\\": "Core/",

...但是您的类(class)位于:

core

这仅适用于不区分大小写的文件系统。

关于php - Composer Autoload.php 未在实时托管的命名空间和类中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073460/

相关文章:

php - .htaccess 到 web.config 以进行 url 重写和重定向

linux - 网站存在 SSL 问题,在 IE 和 Safari 中显示,但在 Chrome 或 Firefox 中不显示

.htaccess - 将带有 html 扩展名的文件重定向到没有扩展名的文件(在 url 中)

php - Composer 存储库类型取决于环境

php - 如何使用 php-fpm 和 php-cli 运行 docker-compose?

php - Laravel 的 eloquent 中有没有办法利用之前的查询条件进一步查询?

php - 动态生成选项列表以重复的 optgroup 标签结束

netbeans-7 - 无法在 NetBeans 中使用 Composer 安装包

php - '使用多个复选框搜索数据库'

php - Drupal - 如何识别 mysql 错误类型并打印自定义错误消息