202 votes

Trouvez le bon fichier php.ini

J'essaie actuellement de localiser le bon fichier php.ini pour le modifier et redémarrer Apache afin que les modifications soient prises en compte, mais je suis dans l'impasse.

J'ai trouvé trois fichiers php.ini différents (aucune idée de la raison pour laquelle 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 modifiés (juste pour être sûr) pour qu'ils correspondent aux paramètres que je voulais.

J'ai redémarré apache en utilisant

sudo service apache2 restart

Les résultats...

* Restarting web server apache2

J'ai rechargé la page et elle 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');

qui devait passer à 20 millions, mais qui n'était toujours que de 2 millions.

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é.

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

337voto

Joe the Person Points 5090

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

/etc/php/5.6/cli/php.ini est pour 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 modifier pour que les changements soient appliqués à votre configuration Apache qui utilise le module PHP intégré à Apache.

/etc/php/5.6/fpm/php.ini est pour le php5-fpm qui est un "wrapper" compatible avec fastcgi pour le traitement PHP (par exemple pour passer de NGINX à php5-fpm ) et s'exécute comme un processus autonome sur le système (contrairement au plugin PHP d'Apache).

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/ et ainsi de suite. Sinon, ces chemins restent exacts. Adaptez cela en fonction de votre environnement, en remplaçant le 5.6 ou le numéro avec le dossier de la version réelle qui existe dans votre environnement.

31voto

Gianfranco P. Points 431

Pour trouver quel php.ini que le 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

26voto

Justin Paul Paño Points 371

Essayez d'exécuter un script contenant ce snippet dans votre navigateur <?php phpinfo(); ?> et ensuite essayer de rechercher quelque chose comme Fichier de configuration chargé . Cette entrée spécifie le php.ini que votre PHP utilise dans votre serveur Apache.

15voto

Softmixt Points 261

Pour php7 ubuntu 16.4

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

5voto

Vous pouvez trouver le fichier utilisé en exécutant ceci sur le terminal :

php --ini

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X