Question Trouvez le fichier php.ini correct


Je suis en train d'essayer de localiser le fichier php.ini correct pour l'éditer et redémarrer apache afin que les modifications aient lieu et que je suis coincé.

J'ai trouvé trois fichiers php.ini différents (aucune idée pourquoi il y en a trois)  c'est comme ça que j'ai trouvé les fichiers

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

J'ai aussi fait ....

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

Je les ai tous changés (juste pour être sûr) aux paramètres que je voulais.

J'ai redémarré apache en utilisant

sudo service apache2 restart

Les resultats...

* Restarting web server apache2

J'ai rechargé la page et il a montré que le fichier php.ini n'était pas mis à jour.

Je le sais parce que j'ai utilisé

echo ini_get('post_max_size');

Ce qui devait être changé à 20M mais n'était encore que 2M

J'ai essayé de redémarrer mon ordinateur en pensant que peut-être cela arrêterait le serveur Apache et rechargerait le fichier php.ini avec le paramètre correct, mais hélas cette tentative a également échoué.

Y a-t-il une chance qu'un autre fichier php.ini puisse interférer?


148
2017-10-12 00:19


origine


le «correct» est dans le apache2 sous-répertoire - Joren
utilisation updatedb; locate php.ini au lieu de find. - sjas
@Michael Le fichier est /etc/php/5.6/apache2/php.ini dans Ubuntu 16.04 LTS Xenial Xerus, où 5.6/ est la version de php installée. Copiez d'abord le fichier dans php.original.ini puis ouvert pour l'édition avec sudo gedit /etc/php/5.6/apache2/php.ini - Hedley Finger


Réponses:


Les trois fichiers que vous avez là sont chacun destinés à des utilisations différentes.

/etc/php/5.6/cli/php.ini est pour le programme PHP CLI, que vous avez trouvé en cours d'exécution php sur le terminal.

/etc/php/5.6/cgi/php.ini est pour le système php-cgi qui n'est pas spécifiquement utilisé dans cette configuration.

/etc/php/5.6/apache2/php.ini est pour le plugin PHP utilisé par Apache. C'est celui qu'il faut éditer pour les modifications à apporter à votre configuration Apache.

/etc/php/5.6/fpm/php.ini est pour le php5-fpm processeur, qui est un «wrapper» compatible fastcgi pour le traitement PHP (comme pour transférer de NGINX à php5-fpm) et fonctionne comme un processus autonome sur le système (contrairement au plugin Apache PHP)

Pour les versions d'Ubuntu inférieur que 16.04, /etc/php/5.6/,/etc/php/7.0/,/etc/php/7.1/, et ainsi de suite, sont remplacés par /etc/php5/ etc. Sinon, ces chemins restent précis. Adapter en conséquence pour votre environnement, en remplaçant le 5.6 ou numéro avec le dossier de la version actuelle qui existe sur votre environnement.


254
2017-10-12 02:49



php.ini ne se trouve pas dans le répertoire / etc / php5 / apache2. mais il est disponible dans le répertoire cli. - Anuj TBE
@ anujsharma9196 La seule raison pour laquelle cela serait le cas est que si vous n'utilisez pas le plugin Apache pour PHP. Les chemins de fichiers fonctionnent toujours comme indiqué ici à ce jour (confirmé sur ma machine virtuelle 15.04) - Thomas Ward♦


Essayez d'exécuter un script contenant cet extrait dans votre navigateur <?php phpinfo(); ?> puis essayez de chercher quelque chose comme Fichier de configuration chargé. Cette entrée spécifie le php.ini que votre PHP utilise dans votre serveur Apache.


19
2017-11-05 11:30





pour php7 ubuntu 16.4

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

11
2017-08-21 07:45



Il me manque ce fichier. Quel paquet fournit ce fichier? - galmok
est pour php7 sur Ubuntu 16.4 - Softmixt


Pour trouver qui php.ini la CLI utilise, vous pouvez exécuter:

php -i | grep 'php.ini'

Exemple de sortie:

$ 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



Cela devrait être la réponse acceptée! - Marcelo Ágil