Возможно ли иметь отдельный файл php.ini, который заменяет файл php.ini по умолчанию для каждого виртуального хоста? Я использую Apache / 2.2.14, PHP 5.3.2-1.
Например, у меня есть несколько vhosts, указывающих на домены в моем /var/www/
каталог:
/var/www/website1.com
/var/www/website2.com
Я бы хотел иметь возможность разместить собственный файл php.ini в каждом каталоге, который переопределял бы значения по умолчанию только для этого виртуального хоста, но сохранял исходные значения по умолчанию, если значение не указано:
/var/www/website1.com/htdocs/
/var/www/website1.com/php.ini
редактировать
Для тех, кому интересно, я нашел больше информации по теме на Как настроить файлы php.ini для каждого сайта на сервере LAMP с помощью NameVirtualHosts?.
Если вы используете mod_php, вы можете переопределить желаемые значения в httpd.conf. Вот эти директивы модуля:
php_value - PHP Value Modifier
php_flag - PHP Flag Modifier
php_admin_value - PHP Value Modifier (Admin)
php_admin_flag - PHP Flag Modifier (Admin)
Если нет, то лучший вариант - PHP FPM (погуглите).
Если вы используете cgi (или fastcgi, или fpm, что тоже является fastcgi), вы можете использовать .user.ini
файлы.
Просто поместите .user.ini
в корневом каталоге веб-сайта с вашими параметрами php, как показано ниже:
memory_limit=256M
upload_max_filesize=200M
post_max_size=200M
И php расширит основной файл php.ini этими параметрами.
Добавьте PHPINIDir в тег VirtualHost и укажите в нем каталог, в котором ваш файл php.ini будет использовать vhost.
<VirtualHost *:80>
[....]
PHPINIDir /var/www/web1
[....]
</VirtualHost>
схватил из http://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php
Редактировать 14.04.2010 12:30 EST: ** Неважно, это изменило «загруженный файл конфигурации» для всех vhosts. **