Domanda 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 si verifichino e sono bloccato.

Ho trovato tre diversi file php.ini (non so perché ce ne siano tre)  questo è il modo in cui ho trovato i file

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

Anch'io ho 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 modificati tutti (solo per essere sicuri) per 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 è stato aggiornato.

Lo so perché l'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 avrebbe fermato il server Apache e ricaricato il file php.ini con l'impostazione corretta, ma purtroppo anche questo tentativo non è riuscito.

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


148
2017-10-12 00:19


origine


quello 'corretto' è nel apache2 sottodirectory - Joren
uso updatedb; locate php.ini invece di find. - sjas
@ Michael Il file è /etc/php/5.6/apache2/php.ini in Ubuntu 16.04 LTS Xenial Xerus, dove 5.6/ è la versione di php installata. Prima copia il file in php.original.ini quindi aprire per la modifica con sudo gedit /etc/php/5.6/apache2/php.ini - Hedley Finger


risposte:


I tre file che hai sono ciascuno destinato a diversi usi.

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

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

/etc/php/5.6/apache2/php.ini è per il plugin PHP usato da Apache. Questo è quello che devi modificare per le modifiche da applicare per la configurazione di Apache.

/etc/php/5.6/fpm/php.ini è per il php5-fpm processore, che è un 'wrapper' compatibile con fastcgi per l'elaborazione di PHP (come per passare da NGINX a php5-fpm) e funziona come un processo autonomo sul sistema (diversamente dal plugin Apache PHP)

Per le versioni di Ubuntu inferiore rispetto al 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. Adegualo di conseguenza per il tuo ambiente, sostituendo il 5.6 o numero con la cartella della versione effettiva esistente nel proprio ambiente.


254
2017-10-12 02:49



php.ini non si trova nella directory / etc / php5 / apache2. ma è disponibile lì nella directory cli. - Anuj TBE
@ anujsharma9196 L'unica ragione potrebbe essere se non si utilizza il plug-in Apache per PHP. I percorsi dei file funzionano ancora come è elencato qui fino ad oggi (confermato sulla mia VM 15.04) - Thomas Ward♦


Prova a eseguire uno script contenente questo snippet nel tuo browser <?php phpinfo(); ?> e quindi prova a cercare qualcosa come File di configurazione caricato. Questa voce specifica php.ini utilizzati da PHP nel tuo server Apache.


19
2017-11-05 11:30





per php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini

11
2017-08-21 07:45



Mi manca quel file. Quale pacchetto sta fornendo quel file? - galmok
è per php7 su Ubuntu 16.4 - Softmixt


Per trovare quale php.ini la CLI sta usando puoi eseguire:

php -i | grep 'php.ini'

Esempio di output:

$ php -i | grep 'php.ini'

Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini

7
2018-06-27 15:54



Questa dovrebbe essere la risposta accettata! - Marcelo Ágil