Domanda

Penso di aver scoperto che quando ho una pagina di errore personalizzato Errordocument, include non sempre funziona perché l'inclusione richiede una directory e la pagina che ha l'errore potrebbe essere in una directory diversa.

directory1/directory2/thispagecausesa404error.php

directory1/thispagecausesa404error.php

Se ho include includepage.php; Nella mia pagina Errordocument, non funzionerà.

Ho deciso di aggiungere include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php'; alla pagina Errordocument, che risolve il problema, ma sospetto che sto facendo qualcosa di sbagliato o non vedo il modo corretto per avere un incluso impeccabile in una pagina di errore.

Che cosa sto facendo di sbagliato?

È stato utile?

Soluzione

Consiglierei di non fare mai affidamento DOCUMENT_ROOT essere impostato correttamente. Invece, utilizzare un percorso relativo dallo script corrente tramite il __DIR__ costante magica, per esempio

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

Il percorso può anche contenere attraversamento della directory genitore tramite ../ Se necessario, ad esempio

include __DIR__ . '/../../some/dir/includepage.php';
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top