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.

questionAnswers(5)

yourAnswerToTheQuestion