Поиск по сайту:

Как указать пользовательский php.ini для веб-сайта (Apache2 с mod_php)


На этой странице

  1. 1 Предварительное примечание
  2. 2 Получение сведений об установке PHP
  3. 3 Пользовательский файл php.ini для веб-сайта
  4. 4 ссылки

В этой короткой статье объясняется, как указать пользовательский php.ini для веб-сайта, работающего на Apache2 с mod_php. Таким образом, каждый веб-сайт может иметь свой собственный php.ini вместо того, чтобы использовать сервер по умолчанию.

1 Предварительное примечание

Я использую веб-сайт www.example.com здесь с корнем документа /var/www/web1/web здесь.

2 Получение подробной информации об установке PHP

Теперь мы создадим небольшой файл PHP (info.php) в корне документа и вызовем его в браузере. Файл будет отображать полезную информацию о нашей установке PHP, например, используемый файл php.ini.

nano /var/www/web1/web/info.php
<?php
phpinfo();
?>

Теперь мы вызываем этот файл в браузере (например, http://www.example.com/info.php):

Как видите, веб-сайт в настоящее время использует файл /etc/php/8.1/apache2/php.ini.

3 Пользовательский php.ini для веб-сайта

Я скопирую файл php.ini по умолчанию (/etc/php/8.1/apache2/php.ini в Debian/Ubuntu; /etc/php.ini в Fedora/CentOS) в каталог /etc/php/web1/ и создам www .example.com используйте php.ini из каталога /etc/php/web1/:

mkdir /etc/php/web1/
cp /etc/php/8.1/apache2/php.ini /etc/php/web1/
mkdir /etc/php/web1/
cp /etc/php.ini /etc/php/web1/

(Теперь вы можете изменить /var/www/web1/php.ini по своему вкусу.)

Затем откройте конфигурацию виртуального хоста для веб-сайта www.example.com и добавьте в нее строку PHPINIDir:

<VirtualHost 1.2.3.4:80>
[...]
PHPINIDir /etc/php/web1
[...] </VirtualHost>

PHPINIDir должен содержать каталог, в котором находится файл php.ini для веб-сайта.

После этого перезапустите Apache:

service apache2 restart
service httpd restart

Теперь снова вызовите файл info.php в браузере (http://www.example.com/info.php):

В строке пути к файлу конфигурации (php.ini) теперь должен отображаться новый файл php.ini.

4 ссылки

  • Apache: https://httpd.apache.org/
  • PHP: https://www.php.net/