Correggere l’errore PHP "open_basedir restriction in effect" su LWS Panel

Procédure

  

Servizio interessato : hosting web condiviso LWS Panel
Pannello interessato : LWS Panel
Livello : intermedio

L’errore open_basedir restriction in effect appare quando uno script PHP tenta di accedere a un file o a una cartella situati al di fuori dello spazio autorizzato sul vostro hosting.

Può verificarsi in particolare dopo la migrazione di un sito, a causa di un vecchio percorso registrato nella configurazione, di un’estensione configurata male o di uno script personalizzato.

Prima di iniziare

Conservate una copia del file prima di modificarlo. Dovete inoltre disporre del messaggio di errore completo per identificare il percorso rifiutato e il file PHP all’origine del problema.

Comprendere il messaggio di errore

Il messaggio può assomigliare a questo esempio :

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

Contiene diverse informazioni utili :

  • /home/ancien-hebergeur/public_html/config.php è il file a cui lo script [ADDRESS] ;
  • /var/www/exemple.com/htdocs/ corrisponde allo spazio in cui i file del vostro sito possono essere utilizzati ;
  • /var/www/exemple.com/htdocs/index.php è lo script [PERSON_NAME] di aprire il file ;
  • line 24 indica la riga interessata in questo script.

In questo esempio, il sito utilizza ancora un percorso proveniente da un vecchio hosting. PHP blocca quindi l’accesso al file.

Trovare l’errore nei log PHP

Se il vostro sito mostra solo una pagina bianca o un errore 500, consultate i log dell’hosting :

  1. Aprire lo strumento Logs Apache / PHP.
  2. Ripetete l’azione che provoca il problema sul vostro sito.
  3. Aggiornate i log e cercate la riga contenente open_basedir restriction in effect.
  4. Annotate il percorso rifiutato e il file PHP indicato alla fine del messaggio.

Le righe più recenti si trovano generalmente alla fine del log.

Correggere il percorso utilizzato dal sito

1. Verificate la posizione reale del file

Su LWS Panel, i file pubblici di un sito sono generalmente collocati in una directory di questo tipo :

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

Sostituite votre-domaine.fr con il nome di dominio interessato.

Verificate quindi, dal gestore file o via FTP, che il file ricercato [PERSON_NAME] in una delle sue sottocartelle.

2. Ritrovate il vecchio percorso

Il percorso errato può essere registrato :

  • in un file di configurazione ;
  • in uno script PHP personalizzato ;
  • nei parametri di un’estensione o di un tema ;
  • nella configurazione di una cartella di cache, di importazione, di backup o di file temporanei ;
  • in dati conservati dopo una migrazione.

Cercate in priorità la parte caratteristica del vecchio percorso, per esempio :

/home/ancien-hebergeur/

Non modificate a caso i file interni di WordPress, PrestaShop o di un’altra applicazione. Iniziate verificando la configurazione dell’estensione o del modulo indicato nel messaggio di errore.

3. Sostituite il percorso errato

Sostituite il vecchio percorso con il percorso reale del file sul vostro hosting LWS.

Ad esempio :

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

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

In uno script PHP personalizzato, è spesso preferibile costruire il percorso a partire dalla cartella dello script piuttosto che registrare il percorso completo del server.

Ad esempio :

require __DIR__ . '/config.php';

Questa scrittura consente allo script di cercare config.php nella propria cartella.

La direttiva open_basedir non può essere modificata o disattivata da un file .user.ini su LWS Panel.

Questa protezione non deve essere aggirata. Dovete correggere il percorso utilizzato dal sito, dallo script o dall’estensione.

4. Svuotate la cache dell’applicazione

Dopo aver corretto il percorso, svuotate la cache dall’interfaccia del vostro CMS o della vostra applicazione.

Un vecchio percorso può rimanere registrato in un file di cache, anche dopo la modifica della configurazione.

Verificare che tutto funzioni

Ripetete con precisione l’azione che provocava l’errore : aprite la pagina interessata, inviate il modulo o rilanciate l’operazione interrotta.

Consultate poi nuovamente i log PHP. Nessuna nuova riga open_basedir restriction in effect deve apparire.

La correzione è terminata quando la pagina o la funzionalità interessata funziona di nuovo e nessun nuovo errore open_basedir appare nei log PHP.

Problemi frequenti

Vedo solo un errore 500 o una pagina bianca

Il messaggio completo è probabilmente registrato nei log PHP. Aprite lo strumento Logs Apache / PHP dal LWS Panel, poi ripetete l’errore prima di aggiornare il log.

Il percorso indicato corrisponde al mio vecchio hosting

Un percorso assoluto non è stato aggiornato durante la migrazione. Cercate questo percorso nei file di configurazione, nelle impostazioni delle estensioni e negli script personalizzati.

Sostituitelo con il percorso attuale del vostro sito [ADDRESS] Panel.

Non trovo dove il percorso è registrato

Guardate il nome del file PHP visualizzato alla fine del messaggio di errore. Spesso consente di identificare l’applicazione, il tema, l’estensione o lo script interessato.

Per un’estensione, verificate prima le sue impostazioni di cache, di importazione, di backup o di file temporanei.

Il file si trova nella cartella htdocs, [PERSON_NAME] continua

Verificate che il percorso utilizzato dallo script corrisponda esattamente alla posizione reale del file.

Anche un collegamento simbolico può sembrare puntare a un file del sito pur indirizzando PHP verso una posizione esterna allo spazio autorizzato. In questo caso, sostituite il collegamento con un accesso diretto a un file situato nella cartella del sito.

L’errore ritorna dopo la modifica

Svuotate la cache della vostra applicazione, poi ripetete il problema. Verificate anche che il percorso non sia registrato in più punti.

Vota questo articolo :

Questo articolo vi è stato utile ?

Article utile

Article non utileNo

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)

Articoli simili

0mn lettura

Errore Cloudflare 524: si è verificato un timeout

3mn lettura

Come correggere un errore 500 sul vostro sito con il pannello LWS

9mn lettura

Come si correggono i codici di errore HTTP?

0mn lettura

Errore 404, cos'è e come correggerlo


Questions sur cet article

Fate una domanda al team LWS e alla sua comunità

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.