Глобальный обходной путь для случайного неспецифического включаемого файла включен? - PullRequest
0 голосов
/ 29 апреля 2010

Я имею дело с устаревшим сервером PHP4 IIS, который имеет странные настройки, и я абсолютно не могу обновить PHP или изменить какие-либо настройки сервера.

Этот старый сайт на сервере в основном имеет подкаталоги, в которых есть каталог includes, поэтому существует несколько каталогов includes, и в моем корне я делаю что-то вроде

include 'includes/nav.php';

В директориях includes содержится около 10 nav.php файлов, поэтому иногда туда попадает неправильный.

Я нашел обходной путь, просто добавив к нему абсолютный путь к локальной файловой системе, например

$base = dirname(__FILE__);
include $base . '/includes/nav.php';

Однако, чтобы применить это исправление, мне пришлось бы изменить практически каждый файл.

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

1 Ответ

2 голосов
/ 29 апреля 2010

Если я правильно понимаю вашу проблему, похоже, что вы изменили include_path (либо в php.ini, либо с помощью ini_set('include_path', '...') или set_include_path('...')), чтобы сначала использовать относительную папку include, либо перед может помочь любая другая включаемая папка.

...