powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php-fpm + opcache: "Warning Interned string buffer overflow"
6 сообщений из 6, страница 1 из 1
php-fpm + opcache: "Warning Interned string buffer overflow"
    #39344346
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конфигурацию 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
php-fpm + opcache: "Warning Interned string buffer overflow"
    #39344472
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02Скорее всего, только те, которые имеют тип PHP_INI_ALL Чего гадать то? В доке написано, где какая директива применима. Перевод заголовка таблицы корявенький, конечно, но вполне понятный.

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

Всё так и происходит. Настройки, описанные через php_admin_value в конфигурационном файле пула, нормально считываются php-fpm (о чём свидетельствует phpinfo ). Проблема в том, что они не применяются расширением opcache .
...
Рейтинг: 0 / 0
php-fpm + opcache: "Warning Interned string buffer overflow"
    #39344496
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПроблема в том, что они не применяются расширением 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
php-fpm + opcache: "Warning Interned string buffer overflow"
    #39344498
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор- opcache_get_status показывает 4:
Это значение опции по умолчанию.
...
Рейтинг: 0 / 0
php-fpm + opcache: "Warning Interned string buffer overflow"
    #39350717
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ случае с Apache эти директивы прописываются в .htaccessХотел написать "в http.conf ".

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

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


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