Composer Autoload.php 未在命名空间中加载并且 类 在实时托管中
Composer Autoload.php not loading in Namespaces and Classes on live hosting
我有一个简单的 PHP 网络应用程序,其结构如下:
/ (composer.json .htaccess ...)
/Core/ (Router.php, Controller.php ...)
/App/ (/Controllers, /Models, /Views ...)
/Public/ (index.php ...)
/Vendor/ (autoload.php /composer ...)
代码在我的本地服务器上运行没有问题。
当我将它复制到实时服务器并对路由中的 .htaccess 进行必要的更改时,我收到以下错误:致命错误:Class 'Core\Router' not found in.... 我尝试了 3 个不同的主机,但没有成功。
问题似乎与未在名称空间中加载的作曲家自动加载功能和使用 psr-4 类 有关。我在我的 composer.json 文件中设置了这个:
{
"autoload": {
"psr-4": {
"Core\": "Core/",
"App\": "App/"
}
}
我项目的代码在 GitHub
https://github.com/imoprojects/upbook
我是在 MVC 结构中编程的新手,也是以这种方式使用 composer 的新手。
如果有人可以帮助解决可能发生的事情,我将不胜感激。
干杯,
伊恩
你这样配置:
"Core\": "Core/",
...但是您的 类 位于:
core
这仅适用于不区分大小写的文件系统。
我有一个简单的 PHP 网络应用程序,其结构如下:
/ (composer.json .htaccess ...)
/Core/ (Router.php, Controller.php ...)
/App/ (/Controllers, /Models, /Views ...)
/Public/ (index.php ...)
/Vendor/ (autoload.php /composer ...)
代码在我的本地服务器上运行没有问题。
当我将它复制到实时服务器并对路由中的 .htaccess 进行必要的更改时,我收到以下错误:致命错误:Class 'Core\Router' not found in.... 我尝试了 3 个不同的主机,但没有成功。
问题似乎与未在名称空间中加载的作曲家自动加载功能和使用 psr-4 类 有关。我在我的 composer.json 文件中设置了这个:
{
"autoload": {
"psr-4": {
"Core\": "Core/",
"App\": "App/"
}
}
我项目的代码在 GitHub
https://github.com/imoprojects/upbook
我是在 MVC 结构中编程的新手,也是以这种方式使用 composer 的新手。
如果有人可以帮助解决可能发生的事情,我将不胜感激。
干杯, 伊恩
你这样配置:
"Core\": "Core/",
...但是您的 类 位于:
core
这仅适用于不区分大小写的文件系统。