Можно ли использовать файл php.ini на уровне каталога?

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

Возможно ли это, просто переопределив эти значения в новом php.ini в подкаталоге? Я стараюсь не определять их в файле .htaccess.


person Chad Kidner    schedule 23.11.2012    source источник
comment
Как правило, да, но это может относиться только к подмножеству настроек... вы пробовали?   -  person Grant Thomas    schedule 24.11.2012
comment
@GrantThomas Да, но он не загружался. Я не был уверен, что где-то пропустил какую-то настройку.   -  person Chad Kidner    schedule 24.11.2012


Ответы (1)


В общем нет, но в специальных (CGI/FastCGI) да: http://php.net/configuration.file.per-user

Начиная с PHP 5.3.0, PHP включает поддержку INI-файлов в стиле .htaccess для каждого каталога. Эти файлы обрабатываются только CGI/FastCGI SAPI. Эта функция заменяет расширение PECL htscanner. Если вы используете Apache, используйте файлы .htaccess для того же эффекта.

В дополнение к основному файлу php.ini, PHP сканирует INI-файлы в каждом каталоге, начиная с каталога запрошенного файла PHP и продвигаясь вверх до текущего корня документа (как указано в $_SERVER['DOCUMENT_ROOT'] ). Если файл PHP находится вне корня документа, сканируется только его каталог.

Вы можете установить только ограниченное подмножество параметров ini в файле user-ini. Если вы размещаете несколько независимых сайтов на одном сервере, вам в любом случае следует подумать о FastCGI, чтобы они были разделены. С php5-fpm очень легко настроить множество пулов воркеров.

person KingCrunch    schedule 23.11.2012
comment
Спасибо за всю прекрасную информацию. Похоже, моя конфигурация соответствует всем критериям, которые вы упомянули. И она делает то, что вы говорите, и сканирует дополнительные файлы ini, но, похоже, не поддерживает корневой каталог виртуального документа, поскольку, когда я тестирую скрипт phpinfo, он показывает только Конфигурация сервера php.ini и php5.ini в моем корневом каталоге загружены. Я вижу место, в котором говорится, что дополнительные файлы .ini проанализированы, но получен результат (нет). В итоге я просто определил параметры .ini, которые мне сейчас нужны, в файле .htaccess. Еще раз спасибо за советы! - person Chad Kidner; 24.11.2012