Trova il file php.ini corretto

Attualmente sto cercando di individuare il file php.ini corretto per modificarlo e riavviare apache in modo che le modifiche abbiano luogo e sono in difficoltà.

Ho trovato tre diversi file php.ini (non ho idea del perché siano tre) Ecco come ho trovato i file

$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini

Ho anche fatto....

$ sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

Li ho cambiati tutti (solo per essere sicuro) con le impostazioni che volevo.

Ho riavviato apache usando

sudo service apache2 restart

I risultati...

* Restarting web server apache2

Ho ricaricato la pagina e ha mostrato che il file php.ini non era aggiornato.

Lo so perché ho usato

echo ini_get('post_max_size');

Che doveva essere cambiato in 20M ma era ancora solo 2M

Ho provato a riavviare il mio computer pensando che forse questo avrebbe fermato il server apache e ricaricato il file php.ini con l'impostazione corretta, ma ahimè anche questo tentativo è fallito.

C'è qualche possibilità che ci sia un altro file php.ini che potrebbe interferire?

Soluzione

I tre file che hai lì sono destinati ad usi diversi.

/etc/php/5.6/cli/php.ini è per il programma CLI PHP, che hai trovato eseguendo php nel terminale.

/etc/php/5.6/cgi/php.ini è per il sistema php-cgi che non è usato specificatamente in questa configurazione.

/etc/php/5.6/apache2/php.ini è per il plugin PHP usato da Apache. Questo è quello che devi modificare per applicare i cambiamenti alla tua configurazione di Apache.

/etc/php/5.6/fpm/php.ini è per il processore php5-fpm, che è un 'wrapper' fastcgi-compatibile per l'elaborazione di PHP (ad esempio per passare da NGINX a php5-fpm) e viene eseguito come processo autonomo sul sistema (a differenza del plugin PHP di Apache)

Per le versioni di Ubuntu inferiore alla 16.04, /etc/php/5.6/,/etc/php/7.0/,/etc/php/7.1/, e così via, sono sostituiti da /etc/php5/ e così via. Altrimenti, questi percorsi rimangono accurati. Adatta questo di conseguenza al tuo ambiente, sostituendo il 5.6 o il numero con la cartella della versione reale che esiste nel tuo ambiente.

Commentari (2)

Prova ad eseguire uno script contenente questo snippet nel tuo browser <?php phpinfo(); ?> e poi prova a cercare qualcosa come Loaded Configuration File. Questa voce specifica il php.ini che il tuo PHP usa nel tuo server Apache.

Commentari (0)

per php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini
Commentari (2)