Trouvez le fichier php.ini correct

147

Je suis en train d’essayer de localiser le fichier php.ini correct pour le modifier et redémarrer apache afin que les modifications soient apportées et que je suis coincé.

J'ai trouvé trois fichiers php.ini différents (aucune idée de la raison de 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) des 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 il a montré que le fichier php.ini n’avait pas été mis à jour.

Je le sais parce que j'ai utilisé

echo ini_get('post_max_size');

Qui était censé être changé à 20M mais était encore seulement 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?

    
posée Michael 12.10.2013 - 02:19
la source

4 réponses

252

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

/etc/php/5.6/cli/php.ini est pour le programme PHP CLI, 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 modifications soient appliquées à votre configuration Apache.

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

  

Pour les versions d'Ubuntu inférieur à 16.04, /etc/php/5.6/ , /etc/php/7.0/ , /etc/php/7.1/ , etc. sont remplacés par /etc/php5/ , etc. Sinon, ces chemins restent précis. Adaptez-le en conséquence pour votre environnement, en remplaçant 5.6 ou number par le dossier de la version réelle existant dans votre environnement.

    
réponse donnée Thomas Ward 12.10.2013 - 04:49
la source
19

Essayez d’exécuter un script contenant cet extrait dans votre navigateur <?php phpinfo(); ?> , puis essayez 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.

    
réponse donnée Justin Paul Paño 05.11.2013 - 12:30
la source
11

pour php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini
    
réponse donnée Softmixt 21.08.2016 - 09:45
la source
7

Pour trouver le php.ini que 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
    
réponse donnée Gianfranco P. 27.06.2017 - 17:54
la source

Lire d'autres questions sur les étiquettes