Php Composer psr-4自动加载在部署后不工作
我有自己的小MVC框架,我使用composer psr-4自动加载 在我自己的计算机上,它工作得非常好,但当我将它部署到我的Ubuntu服务器上时,它就不再工作了。(它再也找不到任何类了)我已经尝试了很多东西,但无论我尝试什么,它都不起作用 我尝试过的:Php Composer psr-4自动加载在部署后不工作,php,composer-php,autoload,psr-4,Php,Composer Php,Autoload,Psr 4,我有自己的小MVC框架,我使用composer psr-4自动加载 在我自己的计算机上,它工作得非常好,但当我将它部署到我的Ubuntu服务器上时,它就不再工作了。(它再也找不到任何类了)我已经尝试了很多东西,但无论我尝试什么,它都不起作用 我尝试过的: { "autoload": { "psr-4": { "App\\": "app", "Core\\": "core", "Magister\\": "vendor/Magister" }
{
"autoload": {
"psr-4": {
"App\\": "app",
"Core\\": "core",
"Magister\\": "vendor/Magister"
}
},
"require": {
"philo/laravel-blade": "^3.1"
}
}
- 作曲家转储自动加载
- 作曲家更新
- 删除所有内容并再次上载
- 在互联网上搜索几个小时…:(
{
"autoload": {
"psr-4": {
"App\\": "app",
"Core\\": "core",
"Magister\\": "vendor/Magister"
}
},
"require": {
"philo/laravel-blade": "^3.1"
}
}
我只是不明白为什么它不能在我的服务器上工作。。。。
我在我的服务器上使用的是另一个版本的php:7.1,在我的计算机上使用的是5.6,但这不会有任何区别,对吗
我如何解决这个问题?我只是不明白为什么会发生…:(
编辑:
{
"autoload": {
"psr-4": {
"App\\": "app",
"Core\\": "core",
"Magister\\": "vendor/Magister"
}
},
"require": {
"philo/laravel-blade": "^3.1"
}
}
我的代码:
Index.php:
<?php
require "core/app.php";
$app = new \Core\App();
echo $app->start();
好的……我已经修好了
我已将我的composer.json更改为:
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Core\\": "core/",
"Magister\\": "vendor/Magister/"
},
"classmap": [
"app/",
"core/",
"vendor/Magister/"
]
},
"require": {
"philo/laravel-blade": "^3.1"
}
}
如果您想使用psr-4,您需要将目录大写以
app
- Modules
- Controllers
- Views
-- Layouts
...
请参阅帖子,了解自动加载无法工作的原因。您没有发布PHP代码-您是否require\u一次vendor/autload.PHP
正确?是否已启用错误报告并一直打开?设置错误报告(E\u all);ini\u设置('display\u errors',1)
;看看php 7.1是怎么说的。虽然有不同之处,但如果没有看到您的代码,几乎不可能说出哪里出了问题。可能您依赖于服务器上不存在的扩展。我认为添加php代码不会有帮助。它在我的计算机上正常工作。当然,我需要一次供应商/autoloader.php
因为如果我没有,它在我的计算机上会如何工作???我的意思是,如果服务器上的任何路径不同,可能就不需要自动加载程序。如果你不想发布代码,这很好-但它可以帮助发现可能在7.1中失败的问题。至少,你必须检查php错误消息……更好不仅要检查错误消息,还要发布错误消息。很抱歉花了这么长时间。但我已经用更多信息更新了我的问题。你知道为什么吗?@Luuk Wuijster你是个救命恩人!我在AWS上部署了很长一段时间。这一定是PHP版本的问题,因为我们不太可能将服务器环境升级到v7很久以前。