Corrigir o erro PHP "open_basedir restriction in effect" no LWS Panel

Procédure

  

Serviço afetado : hospedagem web compartilhada LWS Panel
Painel afetado : LWS Panel
Nível : intermediário

O erro open_basedir restriction in effect aparece quando um script PHP tenta acessar um arquivo ou uma pasta localizada fora do espaço permitido na sua hospedagem.

Ele pode ocorrer especialmente após a migração de um site, por causa de um caminho antigo registrado na configuração, de uma extensão mal configurada ou de um script personalizado.

Antes de começar

Mantenha uma cópia do arquivo antes de modificá-lo. Você também deve ter a mensagem de erro completa para identificar o caminho recusado e o arquivo PHP na origem do problema.

Entender a mensagem de erro

A mensagem pode ser semelhante a este exemplo :

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

Ela contém várias informações úteis :

  • /home/ancien-hebergeur/public_html/config.php é o arquivo ao qual o script [ADDRESS] ;
  • /var/www/exemple.com/htdocs/ corresponde ao espaço no qual os arquivos do seu site podem ser usados ;
  • /var/www/exemple.com/htdocs/index.php é o script [PERSON_NAME] de abrir o arquivo ;
  • line 24 indica a linha em questão neste script.

Neste exemplo, o site ainda usa um caminho proveniente de uma antiga hospedagem. O PHP bloqueia, então, o acesso ao arquivo.

Encontrar o erro nos logs PHP

Se o seu site exibir apenas uma página em branco ou um erro 500, consulte os logs da hospedagem :

  1. Abra a ferramenta Logs Apache / PHP.
  2. Reproduza a ação que provoca o problema no seu site.
  3. Atualize os logs e procure a linha contendo open_basedir restriction in effect.
  4. Anote o caminho recusado e o arquivo PHP indicado no final da mensagem.

As linhas mais recentes geralmente ficam no final do log.

Corrigir o caminho usado pelo site

1. Verifique a localização real do arquivo

No LWS Panel, os arquivos públicos de um site geralmente ficam em um diretório deste tipo :

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

Substitua votre-domaine.fr pelo nome de domínio em questão.

Verifique em seguida, pelo gerenciador de arquivos ou por FTP, se o arquivo procurado [PERSON_NAME] uma de suas subpastas.

2. Encontre o caminho antigo

O caminho incorreto pode estar registrado :

  • em um arquivo de configuração ;
  • em um script PHP personalizado ;
  • nas configurações de uma extensão ou de um tema ;
  • na configuração de uma pasta de cache, importação, backup ou arquivos temporários ;
  • em dados mantidos após uma migração.

Procure prioritariamente a parte característica do caminho antigo, por exemplo :

/home/ancien-hebergeur/

Não modifique aleatoriamente os arquivos internos do WordPress, PrestaShop ou de outra aplicação. Comece verificando a configuração da extensão ou do módulo indicado na mensagem de erro.

3. Substitua o caminho incorreto

Substitua o caminho antigo pelo caminho real do arquivo na sua hospedagem LWS.

Por exemplo :

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

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

Em um script PHP personalizado, muitas vezes é preferível construir o caminho a partir da pasta do script em vez de registrar o caminho completo do servidor.

Por exemplo :

require __DIR__ . '/config.php';

Essa escrita permite que o script procure config.php em sua própria pasta.

A diretiva open_basedir não pode ser modificada ou desativada a partir de um arquivo .user.ini no LWS Panel.

Essa proteção não deve ser contornada. Você deve corrigir o caminho usado pelo site, pelo script ou pela extensão.

4. Limpe o cache da aplicação

Depois de corrigir o caminho, limpe o cache pela interface do seu CMS ou da sua aplicação.

Um caminho antigo pode continuar registrado em um arquivo de cache, mesmo após a alteração da configuração.

Verificar se tudo funciona

Reproduza exatamente a ação que provocava o erro: abra a página em questão, envie o formulário ou reinicie a operação interrompida.

Consulte depois mais uma vez os logs PHP. Nenhuma nova linha open_basedir restriction in effect deve aparecer.

A correção está concluída quando a página ou a funcionalidade em questão voltar a funcionar e nenhum novo erro open_basedir aparecer nos logs PHP.

Problemas frequentes

Vejo apenas um erro 500 ou uma página em branco

A mensagem completa provavelmente está registrada nos logs PHP. Abra a ferramenta Logs Apache / PHP no LWS Panel e, em seguida, reproduza o erro antes de atualizar o log.

O caminho indicado corresponde ao meu antigo provedor

Um caminho absoluto não foi atualizado durante a migração. Procure esse caminho nos arquivos de configuração, nas definições das extensões e nos scripts personalizados.

Substitua-o pelo caminho atual do seu site [ADDRESS] Panel.

Não consigo encontrar onde o caminho está registrado

Veja o nome do arquivo PHP exibido no final da mensagem de erro. Ele geralmente permite identificar a aplicação, o tema, a extensão ou o script em questão.

Para uma extensão, verifique primeiro suas configurações de cache, importação, backup ou arquivos temporários.

O arquivo está na pasta htdocs, mas o erro continua

Verifique se o caminho usado pelo script corresponde exatamente à localização real do arquivo.

Um link simbólico também pode parecer apontar para um arquivo do site, ao mesmo tempo em que direciona o PHP para um local externo ao espaço permitido. Nesse caso, substitua o link por um acesso direto a um arquivo localizado na pasta do site.

O erro volta após a modificação

Limpe o cache da sua aplicação e reproduza o problema. Verifique também se o caminho não está registrado em vários lugares.

Avaliar este artigo :

Este artigo foi útil para si ?

Article utileSim

Article non utileNão

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)

Artigos semelhantes

0mn leitura

Cloudflare Error 524 : Ocorreu um timeout

3mn leitura

Como corrigir um erro 500 no seu sítio com o painel LWS

9mn leitura

Como é que corrijo os códigos de erro HTTP?

0mn leitura

Erro 404, o que é e como o corrigir


Questions sur cet article

Fazer uma pergunta à equipa do LWS e à sua comunidade

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.