Pergunta

Acho que achei que, quando tenho uma página de erro personalizada do ErrorDocument, inclui nem sempre funciona porque a inclusão requer um diretório e a página que tem o erro pode estar em um diretório diferente.

directory1/directory2/thispagecausesa404error.php

directory1/thispagecausesa404error.php

Se eu tiver include includepage.php; Na minha página ErroDocument, então não funcionará.

Eu resolvi adicionar include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php'; Para a página ErrorDocument, que resolve o problema, mas suspeito que estou fazendo algo errado ou não vendo a maneira correta de ter uma inclusão impecável em uma página de erro.

O que estou fazendo errado?

Foi útil?

Solução

Eu recomendo nunca confiar em DOCUMENT_ROOT sendo definido corretamente. Em vez disso, use um caminho relativo do script atual por meio do __DIR__ constante mágica, por exemplo

include __DIR__ . '/relative/path/from/this/script/to/includepage.php';

O caminho também pode conter a travessia do diretório pai via ../ se necessário, por exemplo

include __DIR__ . '/../../some/dir/includepage.php';
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top