Я писал веб-приложение на PHP, когда столкнулся со странной ситуацией. Чтобы проиллюстрировать мою проблему, рассмотрим веб-приложение этой структуры:
/
index.php
f1/
f1.php
f2/
f2.php
Содержимое этих файлов:
индекс.php:
<?php require_once("f1/f1.php"); ?>
f1.php:
<?php require_once("../f2/f2.php"); ?>
f2.php: пусто
теперь, когда я пытаюсь открыть index.php в своем браузере, я получаю эту ошибку:
Warning: require_once(../f2/f2.php) [function.require-once]:
failed to open stream: No such file or directory in /var/www/reqtest/f1/f1.php on line 2
Fatal error: require_once() [function.require]:
Failed opening required '../f2/f2.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/reqtest/f1/f1.php on line 2
Есть ли что-то очевидное, что я упускаю? как включить пути в PHP?
Прежде чем я задал этот вопрос, я попытался поэкспериментировать и выяснить. Я настроил еще один тест, например:
/
index.php
f1/
f1.php
f2.php
индекс.php:
<?php require_once("f1/f1.php"); ?>
f1.php:
<?php require_once("f2.php"); ?>
f2.php: пусто
К моему удивлению (и полному замешательству), это сработало отлично!
Итак, в чем секрет разрешения пути?
PS Я видел этот вопрос, но он по-прежнему не отвечает на второй случай, который я изложил здесь.