Hilfe benötigt bei Fehler "open_basedir restriction in effect"

Hallo zusammen,

ich habe ein Problem mit meinem Shopware Shop und hoffe, dass mir hier jemand weiterhelfen kann. Nach der Bestellung bekomme ich Onpage die Fehlermeldung: Leider ist etwas schief gelaufen. Über FTP erhalte ich die folgende Fehlermeldung:

[2024-09-11T13:42:52.090155+00:00] php.ERROR: Warning: is_file(): open_basedir restriction in effect. File(/stuckleisten-junkies.de/httpdocs/var/cache/composer/config.json) is not within the allowed path(s): (/var/www/vhosts/hosting202936.ae915.netcup.net/:/tmp/:/var/lib/php/sessions) {„exception“:„[object] (ErrorException(code: 0): Warning: is_file(): open_basedir restriction in effect. File(/stuckleisten-junkies.de/httpdocs/var/cache/composer/config.json) is not within the allowed path(s): (/var/www/vhosts/hosting202936.ae915.netcup.net/:/tmp/:/var/lib/php/sessions) at /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/composer/composer/src/Composer/Json/JsonFile.php:85)“}


Es scheint ein Problem mit den Pfaden aufgrund der open_basedir Restriktion zu geben, aber ich bin mir nicht sicher, wie ich das Problem beheben kann. Hat jemand schon einmal ein ähnliches Problem gehabt oder weiß, wie man dieses beheben kann?

Vielen Dank im Voraus für eure Hilfe!

Hi,

die open_basedir Konfiguration kannst Du unter „PHP Einstellungen“ in Deinem Plesk Panel ändern, falls es Dein Hoster erlaubt.

Viele Grüße

danke für deine Antwort. Hatte ich auch schon gelesen aber die Einstellungen die ich vornehmen kann, funktionieren beide nicht. Siehe Screenshot.

Also bei netcup habe ich kurz geschaut sollte es auf Sessions stehen - nachdem du diese Setting gemacht hast, hast du PHP mal neu gestartet ?

Kontrolliere auch mal Deine .env.local Datei - der Pfad zum composer sieht seltsam aus:

Warning: is_file(): open_basedir restriction in effect. File(/stuckleisten-junkies.de/httpdocs/var/cache/composer/config.json

Laut der weiteren Fehlermeldung müsste die Pfad-Angabe in der .env.local wie folgt lauten:

COMPOSER_HOME=/var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/var/cache/composer

Viele Grüße

Wenn ich die Pfad-Angabe ändere erhalte ich die Fehlermeldung :

Fatal error : Uncaught Symfony\Component\Dotenv\Exception\FormatException: Missing quote to end the value in „/var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/.env.local“ at line 4. …var/cache/composer"\n… ^ line 4 offset 244 in /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/dotenv/Dotenv.php:547 Stack trace: #0 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/dotenv/Dotenv.php(339): Symfony\Component\Dotenv\Dotenv->createFormatException() #1 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/dotenv/Dotenv.php(250): Symfony\Component\Dotenv\Dotenv->lexValue() #2 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/dotenv/Dotenv.php(557): Symfony\Component\Dotenv\Dotenv->parse() #3 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/dotenv/Dotenv.php(116): Symfony\Component\Dotenv\Dotenv->doLoad() #4 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/dotenv/Dotenv.php(150): Symfony\Component\Dotenv\Dotenv->loadEnv() #5 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/runtime/SymfonyRuntime.php(107): Symfony\Component\Dotenv\Dotenv->bootEnv() #6 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/autoload_runtime.php(16): Symfony\Component\Runtime\SymfonyRuntime->__construct() #7 /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/public/index.php(11): require_once(‚/var/www/vhosts…‘) #8 {main} thrown in /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/vendor/symfony/dotenv/Dotenv.php on line 547

Das ist vielleicht eine blöde Frage, aber wie starte ich PHP neu?

Hast Du das evtl. in Anführungszeichen gesetzt ?

im plesk panel hier ist eine Anleitung :slight_smile:

Ja, hatte das Anführungszeichen am Ende mit drin. Jetzt geht es auch, aber der Fehler ist immer noch der gleiche!

Bin eingeloggt aber

  1. Go to Tools & Settings > Services Management finde ich nicht

Du hast vermutlich ein einfaches Shared Hosting - dann fehlen diverse Funktionen, da diese sonst Einfluss auf die anderen User haben, mit denen Du Dir den Server teilst.

Fehlermeldung immer noch exakt gleich ? Shopware Cache gelöscht ?

Das ist die Antwort con netcup : danke für Ihre Geduld.

Laut Rückmeldung unserer Fachabteilung gibt es in unseren Webhostingpaketen keine individuelle Anpassung.

Der open_basedir ist eine Sicherheitsfunktion von PHP. Dieser gibt an, auf welche Ordner und/oder Dateien mittels PHP zugegriffen werden kann.

Es stehen Ihnen folgende Optionen zur Verfügung:

{DOCROOT}

{/}{:}{TMP}
{/}{:}{/}

var{/}lib{/}php{/}sessions{:}
{WEBSPACEROOT}{/}tmp*

Erlaubt den Zugriff auf:

  • den Dokumentenstamm einer Domain
  • das Verzeichnis von PHP, um PHP selbst verwenden zu können
  • auf ein Verzeichnis für Temporäre Dateien

*{WEBSPACEROOT}

{/}{:}{TMP}
{/}{:}{/}

var{/}lib{/}php{/}sessions*

Erlaubt den Zugriff auf:

Alle Verzeichnisse und Dateien im Hosting
das Verzeichnis von PHP, um PHP selbst verwenden zu können
auf ein Verzeichnis für Temporäre Dateien

Mit freundlichen Grüßen,
netcup Team

Moment - lt. Deinem Screenshot ist der Pfad doch leicht anders (siehe „Website unter“ ganz unten).

Probiere als composer Pfad in Deiner .env.local bitte mal

COMPOSER_HOME=/var/www/vhosts/hosting202936.ae915.netcup.net/httpdocs/var/cache/composer

Also ohne Deine Domain und ohne Anführungszeichen …

Habe ich eingetragen. Nimmt er auch an, aber der Fehler ist trotzdem der gleiche!

Evtl. mal den Shopware Cache löschen oder nochmal die jetzt auftretende Fehlermeldung posten …

Ich glaube, so ist es doch richtig:
COMPOSER_HOME=/var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/var/cache/composer
Dann der Content liegt im Ordner stuckleisten-junkies.de
Siehe Screenshots.
Screenshot 2024-09-12 1527574

Aktuelle fehlermeldung ist : [2024-09-12T13:25:54.471388+00:00] php.CRITICAL: Uncaught Error: Class „ClientGhostA5741da“ not found {„exception“:„[object] (Error(code: 0): Class "ClientGhostA5741da" not found at /var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/httpdocs/var/cache/prod_h07ff1386451703337e0ed297eb865e7e/ContainerXmvl4iY/Shopware_Core_KernelProdContainer.php:40533)“}

Könnte aber auch noch von dem Fatal Error durch das Anfürungszeichen kommen, ich poste die neue Fehlermeldung wenn diese aktuell ist.

Gibt es denn in dem stuckleisten-junkies.de Verzeichnis ein httpdocs Verzeichnis in dem Deine Shopware Installation liegt ? Falls nicht wäre der Pfad also

COMPOSER_HOME=/var/www/vhosts/hosting202936.ae915.netcup.net/stuckleisten-junkies.de/var/cache/composer