Pesquisa de site

Como especificar um php.ini personalizado para um site (Apache2 com mod_php)


Nesta página

  1. 1 Nota Preliminar
  2. 2 Obtendo detalhes sobre a instalação do PHP
  3. 3 php.ini personalizado para um site
  4. 4 Links

Este breve artigo explica como especificar um php.ini customizado para um site rodando no Apache2 com mod_php. Dessa forma, cada site pode ter seu próprio php.ini ao invés de ter que usar o padrão do servidor.

1 Nota Preliminar

Estou usando o site www.example.com aqui com o documento root /var/www/web1/web aqui.

2 Obtendo detalhes sobre a instalação do PHP

Vamos agora criar um pequeno arquivo PHP (info.php) na raiz do documento e chamá-lo em um navegador. O arquivo exibirá detalhes úteis sobre nossa instalação do PHP, como o arquivo php.ini usado.

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

Agora chamamos esse arquivo em um navegador (por exemplo, http://www.example.com/info.php):

Como você pode ver, o site está usando o arquivo /etc/php/8.1/apache2/php.ini.

3 php.ini personalizado para um site

Vou copiar o php.ini padrão (/etc/php/8.1/apache2/php.ini no Debian/Ubuntu; /etc/php.ini no Fedora/CentOS) para o diretório /etc/php/web1/ e fazer www .example.com usa o php.ini do diretório /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/

(Agora você pode modificar /var/www/web1/php.ini ao seu gosto.)

Em seguida, abra a configuração do vhost para o site www.example.com e adicione uma linha PHPINIDir a ele:

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

PHPINIDir deve conter o diretório onde está localizado o arquivo php.ini do site.

Reinicie o Apache depois:

service apache2 restart
service httpd restart

Agora chame o arquivo info.php novamente em um navegador (http://www.example.com/info.php):

A linha de caminho do arquivo de configuração (php.ini) agora deve mostrar o novo php.ini.

4 links

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

Artigos relacionados: