Окремий файл php.ini для кожного віртуального хоста Apache?


11

Чи можливо мати окремий файл php.ini, який замінює стандартний файл php.ini для кожного віртуального хоста? Я запускаю Apache / 2.2.14, PHP 5.3.2-1.

Наприклад, у мене в /var/www/каталозі є кілька vhosts, що вказують на домени :

/var/www/website1.com  
/var/www/website2.com

Мені б хотілося, щоб можна було розміщувати в кожному каталозі користувальницький файл php.ini, який би заміняв значення за замовчуванням лише для цього vhost, але зберігав початкові значення за замовчуванням, якщо значення не вказано:

/var/www/website1.com/htdocs/
/var/www/website1.com/php.ini

Редагувати
Для тих, хто цікавиться, я знайшов додаткову інформацію по темі в розділі Як встановити файли php.ini на сайті на сервері LAMP за допомогою NameVirtualHosts? .

Відповіді:


6

Якщо ви використовуєте 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 (google it).


2
Так, я також міг би використовувати .htaccess у кожному кореневі vhost, щоб також змінити значення, і з того, що я прочитав, це хороший спосіб це зробити. Але я знаю, що я бачив декілька веб-хостингів із спільним хостингом, які дозволяють вам переосмислити їхні php.ini своїми власними, тому повинен бути інший спосіб зробити це правильно?

2

Якщо ви використовуєте cgi (або fastcgi, або fpm, який також є fastcgi), ви можете використовувати .user.iniфайли .

Просто розмістіть .user.iniфайл у папці webroot з вашими параметрами php таким чином:

memory_limit=256M
upload_max_filesize=200M
post_max_size=200M

І php розшири головний файл php.ini з цими параметрами.


-3

Додайте 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: ** Не забудьте, це змінило "Завантажений файл конфігурації" для всіх прихожих. **


PHPINIDir завантажує цей php.ini для ВСІХ віртуальних хостів, і не тільки того, до якого ви його помістили. Мене зловили припускаючи те саме :(
alandarev
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.