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?
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 le5.6
ou son numéro par le dossier de version actuel de votre environnement.
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.
pour php7 ubuntu 16.4
/etc/php/7.0/Apache2/php.ini
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