Конфигурация PHP и PHP-FPM
Подскажите пожалуйста, как именно работает сочетание конфигов php и php-fpm?
Ситуация такая, в php.ini задаю директиву disable_classes = ReflectionClass, в файле php.conf (php-fpm) php_admin_value[disable_classes] = 'ReflectionFunction'.
В моем понимании я переопределил директиву в пуле. Проверяю открывая страничку в браузере с phpinfo(), вижу, что в строке disable_classes, value и master_value - ReflectionFunction. Вызываю по очереди классы ReflectionClass и ReflectionFunction, получаю два варнинга , что они выключены.
Почему значения объединились, и самое любопытное почему в phpinfo вижу только один выключенный класс?
Ответы (1 шт):
Пользователь shingo, со stackoverflow.com. Дал ответ на вопрос.
The description of this configuration in the manual is:
PHP settings passed with php_value or php_flag will overwrite their previous value. Please note that defining disable_functions or disable_classes will not overwrite previously defined php.ini values, but will append the new value instead.
The first sentence is correct, but perhaps the second sentence is meant to help you better understand. Actually zend first deletes the functions listed in ini's
disable_functionsdirective from the function table (see zend_disable_function), and then deleted the functions listed in the fpm configuration, so it appears to have appended this value, but the value in the ini entries is overwritten.
