2

Как я могу сделать так, чтобы у каждого пользователя (с mod_userdir Apache) был файл php.ini в их домашнем каталоге, который используется вместе с системой php.ini (в настоящее время находится в /etc/php5/php.ini?

Ура!

РЕДАКТИРОВАТЬ: Это требует PHP 5.2.x , в основном этот сервер не может запустить PHP 5.3 из-за устаревшего кода.

РЕДАКТИРОВАТЬ: большинство решений с .htaccess и php_value не будут работать здесь, потому что мы используем FastCGI с SuExec

2 ответа2

5

При использовании Virtualhosts это будет выглядеть так:

<VirtualHost 1.2.3.4:80>
    [...]
    PHPINIDir /var/www/web1
    [...]
</VirtualHost>

Где php.ini будет находиться в /var/www/web1/php.ini.

Также проверьте здесь: http://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php

0

В PHP 5.3.0 проверьте файлы .user.ini . Я не пробовал это, но звучит так, как вы хотите:

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

Или же создайте файл .htaccess для каждого пользователя. Внутри .htaccess измените include_path:

php_value include_path "./php:/php/includes"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .