phpConfigs ignored in FPM images
Describe your Issue
Overview
The changes introduced in [PR 71] have affected the handling of phpConfigs, leading to some confusion about the expected values in this parameter.
Background
The original purpose of the /usr/local/etc/php-fpm.d directory is to permit customization of php-fpm pool definitions via *.conf files. This is defined under the include parameter in the php-fpm.conf file.
According to the current README, the phpConfigs setting is designed for custom php.ini values. An example provided demonstrates how to change the php memory_limit parameter.
Logs and Errors
In the current deployment of nginx + php-fpm, settings added to phpConfigs appear ineffective.
Following [PR 71], generated configmap files are mounted to the /usr/local/etc/php-fpm.d directory, but this directory is not utilized as a source for ini files. Instead, the php-fpm process reads additional ini files from /usr/local/etc/php/conf.d, similar to the behavior of the PHP-SAPI module for Apache.
Describe your Environment
-
Kubernetes distribution: Vanilla v1.23.17
-
Helm version: 3.15.4 (using helmfile, 0.168.0)
-
Helm Chart Version: 6.2.3
-
values.yaml:
...
phpConfigs:
opcache-tunning.ini: |-
opcache.memory_consumption=256
...
Additional context, if any
Workaround
As a temporary solution, I added the following environment variable:
PHP_INI_SCAN_DIR=:/usr/local/etc/php-fpm.d/
This instructs PHP to also search for ini files in /usr/local/etc/php-fpm.d, in addition to /usr/local/etc/php/conf.d. However, this feels like a makeshift workaround.
Suggestion
I suggest introducing an additional Helm value to distinguish between the two functionalities: one for ini settings and another for php-fpm pool settings. This would involve:
- Keeping
phpConfigsfor custom ini files. - Adding a distinct parameter for php-fpm pool configurations, such as
phpFpmPools.
Hello,
Very helpful workaround, since some configs like opcache can't be passed through php_admin_value
Thank you @fffialho !
i have same problem
bump