2013-07-02 3 views
0

Я бегу XAMPP и у меня есть простой структуры сайта:Относительные пути в XAMPP не работают

-> C: \ XAMPP \ HTDOCS \ МойВебСайт \ паб \ index.php

- -> C: \ XAMPP \ HTDOCS \ МойВебСайт \ other.php

в index.php у меня есть

<?php require("../other.php"); ?> 

Когда я перейти к index.php я вижу следующее сообщение об ошибке:

Warning: require(../other.php): failed to open stream: No such file or directory in C:\xampp\htdocs\mywebsite\pub\index.php on line 2

Fatal error: require(): Failed opening required '../other.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\mywebsite\pub\index.php on line 2

Не «../» вернул меня в предыдущий каталог? Он отлично работает, если я запускаю код онлайн, но не локально.

** Меня больше интересует, почему он не работает локально, а не как решение, поскольку проблема связана с проектом, где мне придется изменить много путей вручную просто, чтобы заставить его работать локально

ответ

0

попробовать:

<?php require($_SERVER['DOCUMENT_ROOT']."/other.php"); ?> 
+0

Когда я эхо $ _SERVER ['DOCUMENT_ROOT'] Я получаю C:/xampp/htdocs ... похоже, мне нужно изменить корень. Есть ли причина, по которой родственники не работают? Разве это не относится к файлу, вызывающему требование? –

0

Это, безусловно, работает.

<?php require( realpath('/../'. basename(__FILE__)) . DIRECTORY_SEPARATOR "other.php"); ?> 

ИЛИ

<?php require(realpath('/../'. __DIR__) . DIRECTORY_SEPARATOR "other.php"); ?> 

здесь basename(__FILE__) и __DIR__ принадлежат к текущему каталогу.

Смежные вопросы