Korrigera PHP-felet "open_basedir restriction in effect" i LWS Panel

Procédure

  

Berörd tjänst : delad webbhosting LWS Panel
Berörd panel : LWS Panel
Nivå : medel

Felet open_basedir restriction in effect visas när ett PHP-skript försöker komma åt en fil eller en katalog som ligger utanför det tillåtna utrymmet på ditt webbhotell.

Det kan särskilt uppstå efter en migrering av en webbplats, på grund av en gammal sökväg som sparats i konfigurationen, ett felaktigt inställt tillägg eller ett anpassat skript.

Innan du börjar

Spara en kopia av filen innan du ändrar den. Du behöver också hela felmeddelandet för att identifiera den nekade sökvägen och PHP-filen som orsakar problemet.

Förstå felmeddelandet

Meddelandet kan se ut som i detta exempel:

Warning: include(): open_basedir restriction in effect.
File(/home/ancien-hebergeur/public_html/config.php)
is not within the allowed path(s):
(/var/www/exemple.com/htdocs/:/tmp/)
in /var/www/exemple.com/htdocs/index.php on line 24

Det innehåller flera användbara uppgifter:

  • /home/ancien-hebergeur/public_html/config.php är filen som skriptet [ADDRESS] ;
  • /var/www/exemple.com/htdocs/ motsvarar det utrymme där webbplatsens filer får användas ;
  • /var/www/exemple.com/htdocs/index.php är skriptet [PERSON_NAME] att öppna filen ;
  • line 24 anger den berörda raden i detta skript.

I detta exempel använder webbplatsen fortfarande en sökväg från ett tidigare webbhotell. PHP blockerar därför åtkomsten till filen.

Hitta felet i PHP-loggarna

Om din webbplats bara visar en vit sida eller ett 500-fel, kontrollera webbhotellets loggar:

  1. Öppna verktyget Apache / PHP-loggar.
  2. Upprepa åtgärden som orsakar problemet på din webbplats.
  3. Uppdatera loggarna och sök efter raden som innehåller open_basedir restriction in effect.
  4. Anteckna den nekade sökvägen och PHP-filen som anges i slutet av meddelandet.

De senaste raderna finns vanligtvis längst ner i loggen.

Rätta sökvägen som används av webbplatsen

1. Kontrollera filens faktiska plats

I LWS Panel placeras en webbplats publika filer vanligtvis i en katalog av denna typ:

/var/www/votre-domaine.fr/htdocs/

Ersätt votre-domaine.fr med det berörda domännamnet.

Kontrollera sedan, via filhanteraren eller FTP, att den sökta filen [PERSON_NAME] en av dess underkataloger.

2. Hitta den gamla sökvägen

Den felaktiga sökvägen kan vara sparad:

  • i en konfigurationsfil ;
  • i ett anpassat PHP-skript ;
  • i inställningarna för ett tillägg eller ett tema ;
  • i konfigurationen för en cache-, import-, backup- eller temporära filer-katalog ;
  • i data som bevarats efter en migrering.

Sök i första hand efter den karakteristiska delen av den gamla sökvägen, till exempel:

/home/ancien-hebergeur/

Ändra inte interna filer i WordPress, PrestaShop eller någon annan applikation på måfå. Börja med att kontrollera inställningarna för tillägget eller modulen som anges i felmeddelandet.

3. Ersätt den felaktiga sökvägen

Ersätt den gamla sökvägen med den verkliga sökvägen till filen på ditt LWS-webbhotell.

Till exempel:

Ancien chemin :
/home/ancien-hebergeur/public_html/cache/

Nouveau chemin :
/var/www/votre-domaine.fr/htdocs/cache/

I ett anpassat PHP-skript är det ofta bättre att bygga sökvägen utifrån skriptets mapp i stället för att spara hela serverns sökväg.

Till exempel:

require __DIR__ . '/config.php';

Detta sätt låter skriptet leta efter config.php i sin egen mapp.

Direktivet open_basedir kan inte ändras eller inaktiveras från en .user.ini-fil på LWS Panel.

Detta skydd får inte kringgås. Du måste rätta sökvägen som används av webbplatsen, skriptet eller tillägget.

4. Töm applikationens cache

När du har rättat sökvägen, töm cachen via gränssnittet i ditt CMS eller din applikation.

En gammal sökväg kan fortfarande vara sparad i en cachefil, även efter att konfigurationen har ändrats.

Kontrollera att allt fungerar

Upprepa exakt den åtgärd som orsakade felet: öppna den berörda sidan, skicka formuläret eller starta om den avbrutna operationen.

Kontrollera sedan PHP-loggarna igen. Ingen ny rad med open_basedir restriction in effect får visas.

Åtgärden är slutförd när den berörda sidan eller funktionen fungerar igen och inget nytt open_basedir-fel visas i PHP-loggarna.

Vanliga problem

Jag ser bara ett 500-fel eller en vit sida

Det fullständiga meddelandet finns sannolikt i PHP-loggarna. Öppna verktyget Apache / PHP-loggar från LWS Panel och återskapa sedan felet innan du uppdaterar loggen.

Sökvägen som visas motsvarar mitt gamla webbhotell

En absolut sökväg har inte uppdaterats under migreringen. Sök efter denna sökväg i konfigurationsfilerna, tilläggens inställningar och de anpassade skripten.

Ersätt den med den aktuella sökvägen för din webbplats [ADDRESS] Panel.

Jag hittar inte var sökvägen är sparad

Titta på namnet på PHP-filen som visas i slutet av felmeddelandet. Det hjälper ofta att identifiera den berörda applikationen, temat, tillägget eller skriptet.

För ett tillägg, kontrollera först dess inställningar för cache, import, backup eller temporära filer.

Filen ligger i mappen htdocs, men felet fortsätter

Kontrollera att sökvägen som används av skriptet exakt motsvarar filens faktiska plats.

En symbolisk länk kan också tyckas peka mot en fil på webbplatsen samtidigt som den leder PHP till en plats utanför det tillåtna området. I så fall, ersätt länken med en direkt åtkomst till en fil som finns i webbplatsens mapp.

Felet kommer tillbaka efter ändringen

Töm applikationens cache och återskapa sedan problemet. Kontrollera också att sökvägen inte är sparad på flera ställen.

Betygsätt denna artikel :

Den här artikeln var användbar för dig ?

Article utileJa

Article non utileNej

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Liknande artiklar

0mn läsning

Cloudflare Fel 524 : En timeout inträffade

3mn läsning

Så här korrigerar du ett 500-fel på din webbplats med LWS Panel

9mn läsning

Hur korrigerar jag HTTP-felkoder?

0mn läsning

404-fel, vad det är och hur man rättar till det


Questions sur cet article

Ställ en fråga till AWS-teamet och dess community

RGPD : Responsable LWS-Ligne Web Services. Finalité : modération et publication publique de votre question, notification éventuelle d'une réponse. Base légale : consentement (art. 6.1.a RGPD). Conservation des emails : 90 jours après notification, 12 mois maximum sans réponse. Vous pouvez exercer vos droits via notre nos CGV - section RGPD.