проблема с include (не везде срабатывает)

Eugeniy

Новичок
проблема с include (не везде срабатывает)

У меня есть сайт который висит в и-нете на unix и локально на win2k.
У меня появилась небходимость поставить его локально еще на одной машине с win98.
Я поставил туда апач и пхп, все настройки скопировал с машины на которой стоит win2k.
И вылезла проблема.
У меня сайте Верх и Низ однаковые и вставляются с помощью include.
Так вот на машине где стоит 98 винда include срабатывает не на всех страницах... :(
Закономерности я так и не выявил...
Подскажите, плиз, кто знает, из-за чего это может быть!
 

Crazy

Developer
Жди телепатов.

Они мысленно прочитают твой исходник и так же мысленно узнают, в чем выражается "не срабатывает".
 

Eugeniy

Новичок
Автор оригинала: Crazy
Жди телепатов.
Они мысленно прочитают твой исходник и так же мысленно узнают, в чем выражается "не срабатывает".
Файл index.php где вставляю (в корне):
PHP:
<?PHP
$path="";
include ("{$path}ru/sys/top.php");
?>
Вот здесь лежит файл top.php:
ru/sys/

А если например вот здесь лежит файл:
ru/invest/index.php
а нем:
PHP:
<?PHP
$path="../../";
include ("{$path}ru/sys/top.php");
?>
то все в порядке...

Текст ошибки: Failed opening 'ru/sys/top.php' for inclusion (include_path='..') in .....
 

Eugeniy

Новичок
Автор оригинала: Demiurg
B где же абсолютные пути ?
Это я оригинал показал, как у меня на сайте работает на unix, и на win2k.
Но я пробовал писать абсолютные пути, тоже самое выдает...
 

Demiurg

Guest
1. в первых двух инклудах пути не относительные.
2. Что бы скрипты не зависили от сервера используй $DOCUMENT_ROOT.
 

Eugeniy

Новичок
1. в первых двух инклудах пути не относительные.
А ты какие просил показать?

2. Что бы скрипты не зависили от сервера используй $DOCUMENT_ROOT.
А когда я пишу вот так:
include ("c:/home/bla-bla/htdocs/ru/sys/top.php");
(просто в 3 варианте я диск не дописал....)
это тоже самое что и $DOCUMENT_ROOT писать!
Но я попробую....

Но почему на одной странице работает, а на другой нет?
 

Demiurg

Guest
А ты какие просил показать?
сории, ошибся. я имел ввиду не абсолютные.

делать надо так :
include ($DOCUMENT_ROOT."ru/sys/top.php");
тогда работать будет везде.
 

Eugeniy

Новичок
Demiurg спасибо!
Заработало, только вот интересно, чем все-таки отличается вот это:
PHP:
include ("c:/home/bla-bla/htdocs/ru/sys/top.php");
от этого:
PHP:
include ($DOCUMENT_ROOT."ru/sys/top.php");
В первом случае не работает, во втором работает....


И почему вот такая запись
PHP:
include ("ru/sys/top.php");
работает на один страницах и не работает на других....

:confused: :confused: :confused:
 

Demiurg

Guest
сделай
PHP:
echo $DOCUMENT_ROOT."ru/sys/top.php";
и узнаешь, чем отличается.

а
PHP:
include ("ru/sys/top.php");
это относительный путь, поэтому и так работает.
 
Сверху