2017-02-22 6 views
1

Après une mise à niveau de PHP de 5.2 à 5.5 (ou plus récente), le site web d'un ami ne fonctionne plus, $ DOCUMENT_ROOT.Commande/code racine ne fonctionnant pas après la mise à niveau de PHP de 5.2 à 5.5

Il utilise ce code:

<?php 
require("$DOCUMENT_ROOT/menulinks.inc.php");  
$status = $menu["home"]["id"]; 
require("$DOCUMENT_ROOT/header.inc.php"); 
?> 
<div id="main"> 
<img src="images/miristart.jpg" alt="Startbild" style="margin-top 2%;"/>  
</div> 
<?php 
require("$DOCUMENT_ROOT/footer.inc.php"); 
?> 

Et qui est le code d'erreur:

Warning: require(/menulinks.inc.php): failed to open stream: No such file or directory in /www/htdocs/v137122/sedcard.php on line 2 

Fatal error: require(): Failed opening required '/menulinks.inc.php' (include_path='.:/usr/share/php:..') in /www/htdocs/v137122/sedcard.php on line 2 

Alors, dois-je utiliser une autre commande au lieu de $ DOCUMENT_ROOT? Lequel alors? Merci beaucoup d'avance.

+0

Vous pouvez consulter les réponses à cette question similaire: http: //stackoverflow.com/questions/11927968/document-root-php – Mike

+0

Copie possible de [Document Root PHP] (http://stackoverflow.com/questions/11927968/document-root-php) – xkcd149

Répondre

1

Premier $ DOCUMENT_ROOT est une variable.

Lors de la mise à jour, l'option PHP register_globals a été définie sur off. Vous pouvez toujours accéder à la racine du document via le tableau $_SERVER. Cela ressemblera à $_SERVER ['DOCUMENT_ROOT'].

+0

J'ai changé require ("$ DOCUMENT_ROOT/menulinks.inc.php"); pour require ("$ _ SERVER ['DOCUMENT_ROOT']/menulinks.inc.php") ;, mais cela n'a pas fonctionné du tout. – vega

+0

Votre code '" $ _SERVER ['DOCUMENT_ROOT']/menulinks.inc.php "' va se résoudre à '" Array ['DOCUMENT_ROOT']/menulinks.inc.php "' Vous devez ajouter des accolades: '" {$ _SERVER ['DOCUMENT_ROOT']}/menulinks.inc.php "' – Kyoya

+0

{$ _SERVER ['DOCUMENT_ROOT']} a fait le travail, merci beaucoup. :) – vega