php getcwd() разрешает цель символической ссылки вместо текущей директории
Насколько я знаю, PHP getcwd()
(и аналогичные функции, например, dirname(__FILE__)
) должны возвращать текущий каталог исполняемого файла.
Если текущим каталогом является символическая ссылка на другой каталог, php (предположительно в сочетании с apache) должен вернуть путь, показывающий имя символической ссылки как "каталог", в котором вы находитесь.
Пример:
from /var/www,
directory 'one' contains index.php
symlink 'two' points at directory 'one'
one/index.php: <?php echo getcwd(); ?>
Доступ к http://localhost/two/index.php в браузере показывает /var/www/one
,
Я ожидаю, что это покажет /var/www/two
Кто-нибудь знает, это настройка php или apache, которую я могу изменить? Или я не могу использовать символические ссылки таким образом?
1 ответ
ОК разобрался. использование $_SERVER['SCRIPT_FILENAME']
если через браузер. Через командную строку вы можете получить текущий каталог с символическими ссылками, используя exec("pwd")