web-dev-qa-db-fra.com

Trouver le bon fichier php.ini

J'essaie actuellement de localiser le fichier php.ini correct pour l'éditer et de redémarrer Apache pour que les modifications aient lieu et que je sois perplexe.

J'ai trouvé trois fichiers php.ini différents (je ne sais pas pourquoi il y en a trois), voici comment 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 réglages 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 cela 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 cela arrêterait peut-être le serveur Apache et rechargerait le fichier php.ini avec le paramètre correct, mais hélas, cette tentative a également échoué.

Est-il possible qu'il y ait un autre fichier php.ini qui pourrait interférer?

160
Michael

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

/etc/php/5.6/cli/php.ini concerne le programme CLI PHP que vous avez trouvé en exécutant 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 que vous devez éditer pour que les modifications soient appliquées à votre configuration Apache.

/etc/php/5.6/fpm/php.ini est destiné au processeur php5-fpm, qui est un 'wrapper' compatible fastcgi pour le traitement de PHP (tel que le transfert de NGINX à php5-fpm) et s'exécute en tant que processus autonome sur le système (contrairement à Apache PHP plugin)

Pour les versions d'Ubuntu inférieures à 16.04, /etc/php/5.6/, /etc/php/7.0/, /etc/php/7.1/, etc., sont remplacées par /etc/php5/ et ainsi de suite. Sinon, ces chemins restent précis. Adaptez-le en conséquence à votre environnement en remplaçant le 5.6 ou son numéro par le dossier de version actuel de votre environnement.

278
Thomas Ward

Essayez d'exécuter un script contenant cet extrait de code dans votre navigateur <?php phpinfo(); ?>, puis essayez de rechercher un résultat du type fichier de configuration chargé. Cette entrée spécifie le fichier php.ini que votre PHP utilise sur votre serveur Apache.

21

pour php7 ubuntu 16.4

/etc/php/7.0/Apache2/php.ini
13
Softmixt

Pour trouver le php.ini utilisé par la CLI, exécutez:

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
12
Gianfranco P.