Trouver le bon fichier php.ini

170

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 réglage 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?

Michael
la source
6
le "bon" est dans le apache2sous
Joren
1
utiliser updatedb; locate php.iniau lieu de find.
Sjas
@Michael Le fichier est /etc/php/5.6/apache2/php.inidans Ubuntu 16.04 LTS Xenial Xerus, où 5.6/est la version de php installée. Copiez d'abord le fichier pour l' php.original.iniouvrir ensuite avec sudo gedit /etc/php/5.6/apache2/php.ini
Hedley Finger le

Réponses:

290

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

/etc/php/5.6/cli/php.iniest pour le programme PHP CLI, que vous avez trouvé en exécutant phpsur 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.iniest 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.iniest destiné au php5-fpmprocesseur, qui est un «wrapper» compatible fastcgi pour le traitement PHP (comme pour le transfert de NGINX vers php5-fpm) et s'exécute en tant que processus autonome sur le système (contrairement au plugin Apache PHP)

Pour les versions d'Ubuntu inférieures à 16,04, /etc/php/5.6/, /etc/php/7.0/, /etc/php/7.1/, etc., sont remplacés 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.6ou le numéro par le dossier de version actuel de votre environnement.

Thomas Ward
la source
1
php.ini est introuvable dans le répertoire / etc / php5 / apache2. mais il est disponible dans le répertoire cli.
Anuj TBE
2
@ anujsharma9196 La seule raison pour laquelle ce serait le cas est que vous n'utilisez pas le plugin Apache construit pour PHP. Les chemins de fichiers fonctionnent toujours comme indiqué à ce jour (confirmé le 15.04 VM)
Thomas Ward
21

Essayez d'exécuter un script contenant cet extrait de code dans votre navigateur <?php phpinfo(); ?>, puis essayez de rechercher quelque chose comme Loaded Configuration File . Cette entrée spécifie le php.ini que votre PHP utilise sur votre serveur Apache.

Justin Paul Paño
la source
14

Pour trouver php.inila CLI utilisée, 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
Gianfranco P.
la source
Cela devrait être la réponse acceptée!
Marcelo Ágil
1
C'est bien, mais donnera aux config chargés des configs pour php uniquement. Pour obtenir les configurations chargées avec Apache, il est nécessaire d’effectuer le phpinfo () sur une page Web.
Dipu Raj
13

pour php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini
Softmixt
la source
1
Je manque ce fichier. Quel paquet fournit ce fichier?
Galmok
est pour php7 sur Ubuntu 16.4
Softmixt
1

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

php --ini
Nathália Pissuti
la source