我有自己的小mvc框架,我使用作曲家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,但这不会有什么区别,对吧?
我该如何解决这个问题?我只是不明白为什么会这样…:(
编辑:
我的代码:
Index.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"

Routing.php:
<?php

namespace Core;

Use App\routes;

class Routing
{
    private $parameters = [];

    public function GetMC($Getroute){
    }

}

服务器上的文件结构:
php - 部署后Composer PSR-4自动加载无法正常工作-LMLPHP
我已将供应商地图从树中排除

最佳答案

可以。。。我已经修好了。
我不知道为什么和如何工作,但它的工作…D
我已将composer.json改为:

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Core\\": "core/",
      "Magister\\": "vendor/Magister/"
    },
    "classmap": [
      "app/",
      "core/",
      "vendor/Magister/"
    ]
  },
  "require": {
    "philo/laravel-blade": "^3.1"
  }
}

关于php - 部署后Composer PSR-4自动加载无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48256377/

10-09 08:25
查看更多