Come specificare un php.ini personalizzato per un sito web (Apache2 con mod_php)
Su questa pagina
- 1 Nota preliminare
- 2 Ottenere dettagli sull'installazione di PHP
- 3 php.ini personalizzato per un sito web
- 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/