Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php-fpm + opcache: "Warning Interned string buffer overflow" / 6 сообщений из 6, страница 1 из 1
09.11.2016, 16:45
    #39344346
Cyrax_02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php-fpm + opcache: "Warning Interned string buffer overflow"
Конфигурацию opcache прописываю в конфигурационном файле пула:
Код: php
1.
2.
3.
php_admin_value[opcache.memory_consumption] = 64
php_admin_value[opcache.interned_strings_buffer] = 40
...

При включенном opcache в логи php-fpm сыпятся сплошные " Warning Interned string buffer overflow ".
Значение opcache.interned_strings_buffer ставил и в 400 Мб, и в 1024 Мб - не помогает. При этом phpinfo.php показывает, что указанные значения реально считываются и устанавливаются.

Если в том же самом конфигурационном файле пула отключить opcache:
Код: php
1.
php_flag[opcache.enable] = Off

то ошибки исчезают, opcache реально отключается (это видно и по скорости выполнения include (засекаю), и по phpinfo.php ). Т.е. настройки opcache , прописываемые в конфигурационном файле пула, реально читаются и применяются.

Оказалось , что если прописать те же самые настройки непосредственно в php.ini (которые считываются до конфигурационного файла пула), то никаких ошибок " Warning Interned string buffer overflow " не генерируется.

Отсюда делаем вывод:
Не все настройки opcache , прописанные в конфигурационном файле пула, фактически применяются. Скорее всего, только те, которые имеют тип PHP_INI_ALL (например, opcache.enable ). При этом все эти настройки корректно отображаются в phpinfo.php .

Как объяснить этот артефакт ?
...
Рейтинг: 0 / 0
09.11.2016, 20:59
    #39344472
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php-fpm + opcache: "Warning Interned string buffer overflow"
Cyrax_02Скорее всего, только те, которые имеют тип PHP_INI_ALL Чего гадать то? В доке написано, где какая директива применима. Перевод заголовка таблицы корявенький, конечно, но вполне понятный.

opcache.memory_consumption "64" PHP_INI_SYSTEM
opcache.interned_strings_buffer "4" PHP_INI_SYSTEM
...
Рейтинг: 0 / 0
09.11.2016, 21:11
    #39344476
Cyrax_02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php-fpm + opcache: "Warning Interned string buffer overflow"
авторЧего гадать то? В доке написано, где какая директива применима. Перевод заголовка таблицы корявенький, конечно, но вполне понятный.
Как известно, тип PHP_INI_SYSTEM распространяет своё действие на директивы php_admin_value . В случае с Apache эти директивы прописываются в .htaccess , в случае php-fpm - в конфигурационных файлах пула.

Всё так и происходит. Настройки, описанные через php_admin_value в конфигурационном файле пула, нормально считываются php-fpm (о чём свидетельствует phpinfo ). Проблема в том, что они не применяются расширением opcache .
...
Рейтинг: 0 / 0
09.11.2016, 22:01
    #39344496
Cyrax_02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php-fpm + opcache: "Warning Interned string buffer overflow"
авторПроблема в том, что они не применяются расширением opcache. А проверить это легко - функция opcache_get_status .

Например, в конфигурационном файле пула прописываем:
Код: php
1.
php_admin_value[opcache.interned_strings_buffer] = 8


Далее перезагружаем php-fpm и смотрим:
- phpinfo показывает 8 :
Код: php
1.
opcache.interned_strings_buffer = 8


- opcache_get_status показывает 4 :
Код: php
1.
2.
3.
4.
5.
6.
7.
[interned_strings_usage] => Array
    (
        [buffer_size] => 4194304
        [used_memory] => 4194296
        [free_memory] => 8
        [number_of_strings] => 40513
    )


Если же размер буфера установить в php.ini , то и phpinfo , и opcache_get_status покажут 6 Мб.
...
Рейтинг: 0 / 0
09.11.2016, 22:02
    #39344498
Cyrax_02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php-fpm + opcache: "Warning Interned string buffer overflow"
автор- opcache_get_status показывает 4:
Это значение опции по умолчанию.
...
Рейтинг: 0 / 0
21.11.2016, 03:18
    #39350717
Cyrax_02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php-fpm + opcache: "Warning Interned string buffer overflow"
авторВ случае с Apache эти директивы прописываются в .htaccessХотел написать "в http.conf ".

авторЕсли же размер буфера установить в php.ini, то и phpinfo, и opcache_get_status покажут 6 Мб.Хотел написать 8 Мб

P.S . Продолжение обсуждения артефакта с opcache -настройками типа PHP_INI_SYSTEM - здесь .
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php-fpm + opcache: "Warning Interned string buffer overflow" / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]