我有自己的小MVC框架,我使用composer psr-4自动加载。
在我自己的计算机上,它工作得非常好,但当我将它部署到我的Ubuntu服务器上时,它就不再工作了。(它再也找不到任何类了)我已经尝试了很多东西,但无论我尝试什么,它都不起作用。。。
我所尝试过的:
这是我的composer.json:
{
"autoload": {
"psr-4": {
"App\\": "app",
"Core\\": "core",
"Magister\\": "vendor/Magister"
}
},
"require": {
"philo/laravel-blade": "^3.1"
}
}
我只是不明白为什么它不能在我的服务器上工作。。。。我在我的服务器上使用的是另一个版本的php:7.1,在我的计算机上使用的是5.6,但这不会有任何区别,对吗?
我如何解决这个问题?我只是不明白为什么会这样......:(
编辑:
我的代码:
指数php:
<?php
require "core/app.php";
$app = new \Core\App();
echo $app->start();
app.php:
<?php
namespace Core;
require "./vendor/autoload.php";
class App
{
function start()
{
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL ^ E_DEPRECATED);
$MC = new Routing();
// This is where it fails. Get the error: "class Core\Routing not found"
路由。php:
<?php
namespace Core;
Use App\routes;
class Routing
{
private $parameters = [];
public function GetMC($Getroute){
}
}
服务器上的文件结构:
我已将供应商地图从树中排除
如果你想使用psr-4,你需要将你的目录大写为
app
- Modules
- Controllers
- Views
-- Layouts
...
请参阅这篇文章,了解你的自动加载无法工作的原因。
好吧...我已经修好了。
我换了作曲家。与此相关的json:
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Core\\": "core/",
"Magister\\": "vendor/Magister/"
},
"classmap": [
"app/",
"core/",
"vendor/Magister/"
]
},
"require": {
"philo/laravel-blade": "^3.1"
}
}
我刚刚部署了一个使用Heroku和PostGres的网站。我可以上传到一个表单,但不能上传到其他表单。在当地也很好。错误如下: 非常感谢您的帮助。谢谢
我一直在尝试将最简单的Symfony 4 API部署到heroku。所以我做了一个作曲家req api,并更新了我的env和postgres原则,它在我的本地(通过书籍和评论)上运行良好。下一步是添加一个app.json以向heroku提供所有env变量,我还添加了一个Procfile,其中包含: 更进一步,我在自述中添加了一个“按下heroku”按钮,这样我就可以在部署时检查环境变量是否都设置好
我有一个在本地运行良好的Laravel项目(Mavericks),但是psr-4下的类没有加载到我们的后台服务器(CentOS)上。每次尝试composer更新或运行artisan命令时,我都会收到一个反射“未找到类”错误。 我的所有特定于应用程序的类都存储在我的Laravel项目的app/heatherland下,例如: 我的composer.json包含以下条目: 在本地,psr-4类被添加到
1. 概述 本 PSR 是关于由文件路径 自动载入 对应类的相关规范, 本规范是可互操作的,可以作为任一自动载入规范的补充,其中包括 PSR-0,此外, 本 PSR 还包括自动载入的类对应的文件存放路径规范。 关于「能愿动词」的使用 为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下: 必须 (MUST):绝对,严格遵循,请照做,无条件遵守; 一定不可 (MUST NOT):禁令,严令禁止;
我有一个简单的portlet要部署在WebSohere Portal Server中。 这是一个war文件,在其lib文件夹中包含一个jar文件。在jar文件中,我尝试读取一个属性文件。在我的portlet项目中,我在src的root中有一个属性文件,并且可以毫无问题地读取其中的jar文件。 但是如果我重新部署war文件并且不重新启动服务器,下面的代码行返回null并且它不能从属性文件中读取。重新
我正在用Azure函数做一个小POC。我已经从VS模板创建了一个简单的HttpTrigger函数,如果我在localhost中debbug都可以完美地工作,但如果我在Azure中部署,当我试图启动该函数时,我会遇到一个错误: 发生了一个错误。有关更多信息,请检查日志中的错误ID为24D8E48F-D925-45AD-82CF-F767Decc5F6F 如果我签入Insights,错误是: 调用堆栈