Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Composer psr-4自动加载在部署后不工作_Php_Composer Php_Autoload_Psr 4 - Fatal编程技术网

Php Composer psr-4自动加载在部署后不工作

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" }

我有自己的小MVC框架,我使用composer psr-4自动加载

在我自己的计算机上,它工作得非常好,但当我将它部署到我的Ubuntu服务器上时,它就不再工作了。(它再也找不到任何类了)我已经尝试了很多东西,但无论我尝试什么,它都不起作用

我尝试过的:

{
  "autoload": {
    "psr-4": {
      "App\\": "app",
      "Core\\": "core",
      "Magister\\": "vendor/Magister"
    }
  },
  "require": {
    "philo/laravel-blade": "^3.1"
  }
}
  • 作曲家转储自动加载
  • 作曲家更新
  • 删除所有内容并再次上载
  • 在互联网上搜索几个小时…:(
这是我的作曲家。json:

{
  "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很久以前。