Подтвердить что ты не робот

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

Я перехожу к передаче моего веб-сайта с одного сервера на другой. У меня есть некоторые скрипты php, которые используют функцию is_readable, которая использует текущий рабочий каталог.

На старом сервере, когда я вызываю getcwd(), он выдает папку, в которой выполняется script. На новом сервере он выводит корневой каталог '/'.

Я хотел бы знать, как настроить PHP для использования текущей папки вместо '/'. Я не хочу менять какой-либо PHP-код, который уже работает на старом сервере. Я могу настроить новый сервер, но не знаю, какие настройки изменить. Я использую apache2, если это помогает.

EDIT: Кажется, что мой рабочий каталог не root, как я думал. Когда я создаю testFile.php и echo getcwd(), он показывает каталог, в котором находится php файл. Но в моем файле проблемы в том же каталоге getcwd() отображается как "/"

4b9b3361

Ответ 2

Это нормально в режиме CLI:

Он не меняет рабочий каталог на каталог script. (-C и -no-chdir для обеспечения совместимости)

быстрое обходное решение будет

chdir(dirname(__FILE__));

Ответ 3

Вы можете получить текущий каталог a script с dirname(__FILE__) или __DIR__ if >= PHP 5.3.