Какие каталоги проверяет PHP при включении относительного пути с помощью include ()?

Это очень странно, кто-нибудь еще подводил итоги?

Иногда он также проверяет каталог включенного файла.

Но иногда нет.

D: \ Test \ 1.php

<?php

include('sub\2.php');

D: \ Test \ 2.php

<?php

include('3.php');

куда3.php находится в той же директории, что и2.php.

Выше работает, но почему? Текущий каталог должен бытьD:\test, но он все еще может найти 3.php, который находится вD:\test\sub

Больше истории(окончательный)

Около года назад я столкнулся с этой проблемой, а потом решил исправить ее с помощью жесткого кода, как показано ниже:

common.php:

if (file_exists("../../../Common/PHP/Config.inc"))
    include('../../../Common/PHP/Config.inc');

if (file_exists("../../Common/PHP/Config.inc"))
    include('../../Common/PHP/Config.inc');

if (file_exists("../Common/PHP/Config.inc"))
    include('../Common/PHP/Config.inc');

if (file_exists("Common/PHP/Config.inc"))
    include('Common/PHP/Config.inc');

кудаConfig.inc находится в том же каталоге, что иCommon.php

Ответы на вопрос(3)

Ваш ответ на вопрос