J'ai Nginx + php-fpm + Mysql. Avec les paramètres de mémoire php, j'ai toujours défini ceci dans php.ini comme ceci:
memory_limit = 256M
Maintenant, je suis tombé sur un autre paramètre similaire dans le fichier pool.d/www.conf
comme ceci:
;php_admin_value[memory_limit] = 32M
Mes questions:
Bien que la doc dise ce que ça fait, je ne pouvais lire nulle part, quelle est la différence entre le paramètre memory_limit dans php.ini
et le php_admin_value[memory_limit]
dans www.conf
?
Dois-je définir les deux ou le réglage les rend redondants?
Dans quel scénario dois-je spécifier la limite dans php_admin_value[memory_limit]
au lieu de l'ajouter à memory_limit
dans php.ini
?
Quelqu'un peut-il effacer ma confusion s'il vous plaît?
Il n'y a pas de différence. Il existe différentes façons de définir le même paramètre de configuration PHP. C'est utile - par exemple - si vous avez un php.ini générique qui est chargé dans tous les pools PHP-FPM, mais que vous souhaitez remplacer l'un de ceux-ci, par exemple memory_limit
Une différence entre memory_limit = 256M
dans le fichier php.ini et php_admin_value[memory_limit] = 32M
dans le pool.d/www.conf est que vous pouvez utiliser ini_set('memory_limit','512M')
pour remplacer le paramètre dans le fichier php.ini, mais vous ne pouvez pas le remplacer. valeurs définies avec php_admin_value
.
Utilisez php_value[memory_limit] = 32M
si vous souhaitez autoriser son remplacement. (php_value
vs php_admin_value
)