[gelöst] autoload.php verursacht error 500
Eingetragen von zwerg (736)
am 09.07.2020 - 11:18 Uhr in
am 09.07.2020 - 11:18 Uhr in
Hallo zusammen,
eine frische Drupal-Installation lässt sich nicht mehr aufrufen, stattdessen erscheint folgender Fehler:
Warning: require(): open_basedir restriction in effect. File(/var/www/vhosts/hosting/httpdocs/projekte/n8_2020/vendor/autoload.php) is not within the allowed path(s): (/var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/:/tmp/:/var/lib/php/sessions:/var/www/vhosts/hosting/tmp) in /var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/autoload.php on line 16
Warning: require(/var/www/vhosts/hosting/httpdocs/projekte/n8_2020/vendor/autoload.php): failed to open stream: Operation not permitted in /var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/autoload.php on line 16
Warning: require(): open_basedir restriction in effect. File(/var/www/vhosts/hosting/httpdocs/projekte/n8_2020/vendor/autoload.php) is not within the allowed path(s): (/var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/:/tmp/:/var/lib/php/sessions:/var/www/vhosts/hosting/tmp) in /var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/autoload.php on line 16
Warning: require(/var/www/vhosts/hosting/httpdocs/projekte/n8_2020/vendor/autoload.php): failed to open stream: Operation not permitted in /var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/autoload.php on line 16
Fatal error: require(): Failed opening required '/var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/../vendor/autoload.php' (include_path='.:/usr/local/php73/share/php73') in /var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web/autoload.php on line 16
Die Struktur sieht auf dem Shared Webhosting-Server so aus:
httpdocs
- projekte
- - n8_2020
- - web(/autoload.php)
- - vendor (/autoload.php)
Ich habe composer install
und composer update
versucht, ohne Erfolg. Auch ein Blick in diverse bekannte Issues brachte keinen Erfolg. Hier wird empfohlen, den Pfad manuell zu ändern, allerdings bekomme ich das nicht hin.
Hat von euch jemand einen Tipp für mich? Ich wäre euch wirklich sehr dankbar!
- Anmelden oder Registrieren um Kommentare zu schreiben
Lösung
am 10.07.2020 - 09:08 Uhr
Dank dem Support von glycid (vielen Dank!) konnte die Ursache gefunden und das Problem behoben werden: Die Dateien waren alle ok, es lag an den Einstellungen des Webhosters. Dieser hatte den Docroot automatisch auf den Pfad /var/www/vhosts/hosting/httpdocs/projekte/n8_2020/web gelegt, in dessen Folge konnte die autoload.php nicht auf den vendor-Ordner zugreifen.
Den Docroot habe ich auf /n8_2020 geändert und darin per .htacess auf den Unterordner /web weitergeleitet, sodass nun alles normal läuft.
Web: Halle im Bild | n8aktiv
Social: Facebook | Xing
open_basedir war das Problem
am 10.07.2020 - 11:05 Uhr
Das document root auf /web war nicht das Problem, das sollte eigentlich auch so sein, sondern dass die open_basedir Direktive daran gekoppelt ist und PHP auf das /web Verzeichnis beschränkt wurde.
Und wie sich jetzt gezeigt
am 11.07.2020 - 13:17 Uhr
Und wie sich jetzt gezeigt hat, hat Composer die Berechtigungen von /vendor nicht richtig gesetzt. Drupal benötigt 774, gesetzt war 754. Zum Haare raufen, aber es läuft. Danke nochmals, glycid!
Web: Halle im Bild | n8aktiv
Social: Facebook | Xing