Ricerca nel sito web

Come specificare un php.ini personalizzato per un sito web (Apache2 con mod_php)


Su questa pagina

  1. 1 Nota preliminare
  2. 2 Ottenere dettagli sull'installazione di PHP
  3. 3 php.ini personalizzato per un sito web
  4. 4 collegamenti

Questo breve articolo spiega come specificare un php.ini personalizzato per un sito Web in esecuzione su Apache2 con mod_php. In questo modo, ogni sito Web può avere il proprio php.ini invece di dover utilizzare quello predefinito del server.

1 Nota preliminare

Sto usando il sito web www.example.com qui con la radice del documento /var/www/web1/web qui.

2 Ottenere dettagli sull'installazione di PHP

Ora creeremo un piccolo file PHP (info.php) nella root del documento e lo chiameremo in un browser. Il file mostrerà dettagli utili sulla nostra installazione PHP, come il file php.ini utilizzato.

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

Ora chiamiamo quel file in un browser (ad esempio http://www.example.com/info.php):

Come puoi vedere, il sito Web attualmente utilizza il file /etc/php/8.1/apache2/php.ini.

3 php.ini personalizzato per un sito web

Copierò il php.ini predefinito (/etc/php/8.1/apache2/php.ini su Debian/Ubuntu; /etc/php.ini su Fedora/CentOS) nella directory /etc/php/web1/ e creerò www .example.com utilizza php.ini dalla directory /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/

(Ora puoi modificare /var/www/web1/php.ini a tuo piacimento.)

Quindi apri la configurazione vhost per il sito Web www.example.com e aggiungi una riga PHPINIDir:

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

PHPINIDir deve contenere la directory in cui si trova il file php.ini per il sito web.

Riavvia Apache in seguito:

service apache2 restart
service httpd restart

Ora richiama nuovamente il file info.php in un browser (http://www.example.com/info.php):

La riga del percorso del file di configurazione (php.ini) ora dovrebbe mostrare il nuovo php.ini.

4 collegamenti

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