W jaki sposób obejmuje pracę z rozdzielczością ścieżki w require_once?
Pisałem aplikację internetową w PHP, kiedy napotkałem dziwną sytuację. Aby zilustrować mój problem, rozważ aplikację internetową tej struktury:
/
index.php
f1/
f1.php
f2/
f2.php
Zawartość tych plików:
index.php:
<?php require_once("f1/f1.php"); ?>
f1.php:
<?php require_once("../f2/f2.php"); ?>
f2.php: puste
teraz, gdy próbuję otworzyć index.php w mojej przeglądarce, pojawia się ten błąd:
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
Czy brakuje mi czegoś oczywistego? jak włączyć ścieżki w PHP?
Zanim zadałem to pytanie, próbowałem eksperymentować i dowiedzieć się. Ustawiłem kolejny test, taki jak ten:
/
index.php
f1/
f1.php
f2.php
index.php:
<?php require_once("f1/f1.php"); ?>
f1.php:
<?php require_once("f2.php"); ?>
f2.php: puste
Ku mojemu zdziwieniu (i całkowitemu zamieszaniu) to się udało!
Jaka jest tajemnica rozwiązania ścieżki?
PS Widziałemto pytanie, ale nadal nie odpowiada na drugi przypadek, który tu stwierdziłem.