Я в процессе передачи моего сайта с одного сервера на другой. У меня есть некоторые скрипты php, которые используют функцию is_readable, которая использует текущий рабочий каталог.
На старом сервере, когда я вызываю getcwd (), он выводит папку, в которой выполняется скрипт. На новом сервере он выводит корневой каталог '/'.
Я хотел бы знать, как настроить PHP для использования текущей папки вместо «/». Я не хочу менять какой-либо PHP-код, который уже работает на старом сервере. Я могу настроить новый сервер, но не знаю, какие настройки нужно изменить. Я использую apache2, если это помогает.
EDIT: Кажется, что мой рабочий каталог не root, как я думал. Когда я создаю testFile.php и echo getcwd (), он показывает каталог, в котором находится php-файл. Но в моем файле проблемы в том же каталоге getcwd () отображается как '/'
chdir(__DIR__);
или
chdir(dirname(__FILE__));
(см. chdir и магические константы ).
Но это должно быть по умолчанию.
Это нормально в режиме CLI:
Он не меняет рабочий каталог на сценарий. (-C и -no-chdir-переключатели для совместимости)
быстрое обходное решение будет
chdir(dirname(__FILE__));
Вы можете получить текущий каталог, в котором находится скрипт с dirname(__FILE__)
или dirname(__FILE__)
if> = PHP 5.3.