Ich habe bereits für diese Frage versuchte die Suche und ein paar Antworten zu sehen, aber kein Glück ...Composer & Linux Produktionsserver - automatisches Laden nicht funktioniert
Ich habe Komponisten mit Slim-Framework v3 installiert.
Ich bin mit automatischem Dokumenteneinzug für meine Dateien mit PSR-4 in der composer.json-Datei wie folgt:
"autoload": {
"psr-4": {
"App\\": "App"
}
}
Und das ist meine Ordnerstruktur:
Ich betreiben es auf einem localhost Mac OS X El-Capitan mit Apache 2.4 und alles funktioniert wie Magie. Aber wenn ich es auf meine Produktion Linux-Server laden (auch mit Apache 2.4), scheint die automatisch geladen extrem verwirrt zu sein und ich bin immer Fehler wie diese:
Warning: include(/home/friendsapp/public_html/vendor/composer/../../app/Middleware/AuthMiddleware.php): failed to open stream: No such file or directory in /home/friendsapp/public_html/vendor/composer/ClassLoader.php on line 412
Warning: include(): Failed opening '/home/friendsapp/public_html/vendor/composer/../../app/Middleware/AuthMiddleware.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/friendsapp/public_html/vendor/composer/ClassLoader.php on line 412
Fatal error: Class 'App\Middleware\AuthMiddleware' not found in /home/friendsapp/public_html/public/index.php on line 5
ich meine Klassen genau Namensraum habe nach meinem Ordner Struktur.
<?php
namespace App\Middleware;
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
use \App\Middleware\Middleware;
use \App\Share\ErrorCode;
use \App\Models\ResultMessage;
use \App\Mappers\AccessTokenMapper;
class AuthMiddleware extends Middleware {
Jede Hilfe wäre sehr geschätzt! :)
Haben Sie 'composer install' auf Ihrem Server ausgeführt? – Chris
Oder 'Composer Dump-Autoload' –
Soll ich das nicht auf dem Server tun? (zumindest verstehe ich das, wenn ich ein paar Kommentare zu diesem Problem lese) – EpicSyntax