PHP: Как установить текущий рабочий каталог таким же, как каталог, выполняющий скрипт

Я в процессе передачи моего сайта с одного сервера на другой. У меня есть некоторые скрипты 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.