Почему getcwd() возвращает каталог, отличный от локального pwd?
Вопрос
Я занимаюсь PHP на сервере Ubuntu.
Путь, по которому я работаю, /mnt/dev-windows-data/Staging/mbiek/test_list но вызов PHP getcwd()
возвращается /mnt/dev-windows/Staging/mbiek/test_list (обратите внимание, что это dev-windows вместо dev-windows-data).
Символических ссылок нигде нет.
Есть ли другие причины для getcwd()
возвращение другого пути из локального pwd
вызов?
Редактировать
Я понял.А ДОКУМЕНТ_ROOT в PHP установлено значение /mnt/dev-windows который сбрасывает все.
Решение
В каком файле вы вызываете getcwd() и включен ли этот файл в тот, который вы запускаете (например,запуск index.php, включая start.php, который содержит gwtcwd()).
Файл, который вы запускаете, находится в /dev-windows/ или /dev-windows-data/?Он работает с файлом, который вы на самом деле запускаете.
Вот пример моего текущего проекта:
index.php
<?php
require_once('./includes/construct.php');
//snip
?>
включает/construct.php
<?php
//snip
(!defined('DIR')) ? define('DIR', getcwd()) : NULL;
require_once(DIR . '/includes/functions.php');
//snip
?>
Другие советы
Я понял это и обновил ОП решением.
Я думал, что getcwd() возвращает путь к файловой системе, а не относительный URL-адрес.
В любом случае, факт остается фактом: путь /mnt/dev-windows не делает существуют, пока существует /mnt/dev-windows-data.
@Отметка
Ну это просто странно!Какой ваш include_path
- это может быть путаница.Лично я отказался от этого в пользу констант, потому что это очень темпераментно (или я так и не научился отдавать этому должное).