Zend OPcache настройка. PHP OPcache enable и другие настройки

В предыдущей статье, Zend OPcache установка, мы научились устанавливать OPcache, а в этой статье, мы разберем как производится Zend OPcache настройка, включая настройку PHP OPcache enable.

Ниже представлено полный список конфигурационных директив (Zend OPcache настройка). Если «режим установки» определен как PHP_INI_SYSTEM, то это значит, что значение может быть установлено в файл php.ini или файл httpd.conf. А если определен как PHP_INI_ALL, то это означает, что значение конфигурационной директивы можно установить в любом месте.

PHP OPcache enable настройка, которая включает кеширования

Настройка opcache.enable

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_ALL.

Включает кеширование opcode. Когда значение отключено, код не оптимизируется и не кэшируется. Параметр opcache.enable не может быть включен во время выполнения через ini_set(), его можно только отключить. При попытке включить его в скрипте, будет выдано предупреждение (warning).

Рекомендуемая Zend OPcache настройка enable_cli для хорошей производительности

opcache.enable_cli

opcache.enable_cli=1

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_SYSTEM. Включено по умолчанию начиная с PHP 7.1.2

Включает кеш opcode для CLI версии PHP.

Рекомендуемая Zend OPcache настройка memory consumption для хорошей производительности

Настройка opcache.memory_consumption

opcache.memory_consumption=128

Значение по умолчанию «64» (integer). Режим установки PHP_INI_SYSTEM.

Размер хранилища разделяемой памяти, используемого OPcache, в мегабайтах.

Рекомендуемая Zend OPcache настройка interned_strings_buffer для хорошей производительности

Настройка opcache.interned_strings_buffer

opcache.interned_strings_buffer=8

Значение по умолчанию «4» (integer). Режим установки PHP_INI_SYSTEM.

Объем памяти, используемый для хранения интернированных строк, в мегабайтах. Эта директива конфигурации игнорируется в PHP < 5.3.0.

Рекомендуется установить настройку opcache max_accelerated_files для хорошей производительности

Настройка opcache.max_accelerated_files

opcache.max_accelerated_files=4000

Значение по умолчанию «2000» (integer). Режим установки PHP_INI_SYSTEM.

Максимальное количество ключей (и, следовательно, скриптов) в хеш-таблице OPcache. Фактическое значение будет первым числом в наборе простых чисел {223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987}, которое больше или равно сконфигурированному значению. Минимальное значение 200. Максимальное значение 100000 в PHP < 5.5.6 и 1000000 в более поздних версиях PHP. Настройка opcache.max_wasted_percentage

Значение по умолчанию «5» (integer). Режим установки PHP_INI_SYSTEM.

Максимальный процент неиспользуемой памяти, который разрешен до перезапуска.

Настройка opcache.use_cwd

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_SYSTEM.

Если параметр включен, OPcache добавляет текущий рабочий каталог в ключ сценария, тем самым устраняя возможные коллизии между файлами с таким же базовым именем. Отключение этой директивы повышает производительность, но может привести к поломке существующих приложений.

Настройка opcache.validate_timestamps

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_ALL.

Если настройка opcache.validate_timestamps включена, OPcache будет проверять наличие обновленных сценариев каждые opcache.revalidate_freq секунд. Если эта директива отключена, вы должны сбросить OPcache вручную с помощью функций opcache_reset(), opcache_invalidate() или перезапустив веб-сервер, чтобы изменения в файловой системе вступили в силу.

Рекомендуемая Zend OPcache настройка revalidate_freq для хорошей производительности

Настройка opcache.revalidate_freq

opcache.revalidate_freq=60

Значение по умолчанию «2» (integer). Режим установки PHP_INI_ALL.

Как часто проверять отметки времени для обновления скриптов, в секундах. Значение 0 приведет к проверке OPcache обновлений для каждого запроса.

Эта директива конфигурации игнорируется, если отключена опция opcache.validate_timestamps.

Настройка opcache.revalidate_path

Значение по умолчанию «0» (integer). Режим установки PHP_INI_ALL.

Если опция отключена, существующие кешированные файлы, с использованием одинаковых include_path, будут использоваться повторно. Таким образом, если файл с таким же именем находится в другом месте в include_path, он не будет найден.

Настройка opcache.save_comments

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_SYSTEM.

Если настройка отключена, то все комментарии документации будут удалены из opcode cache, для уменьшения размера оптимизированного кода. Отключение этой директивы конфигурации может привести к появлению ошибок приложений и фреймворков, которые используют разбор комментариев для аннотаций, включая такие библиотеки как Doctrine, Zend Framework 2 и PHPUnit.

Настройка opcache.load_comments

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_ALL.

Если отключить, то комментарии документации не будут загружены из opcode cache, даже если они существуют. Ее можно использовать в месте с opcache.save_comments, для загрузки комментариев только для приложений, которые им требуются.

Рекомендуемая Zend OPcache настройка fast_shutdown для хорошей производительности

Настройка opcache.fast_shutdown

opcache.fast_shutdown=1

Значение по умолчанию «0» (boolean). Режим установки PHP_INI_SYSTEM.

Если опция включена, то используется последовательность быстрого отключения, которая не освобождает каждый выделенный блок, а полагается на диспетчер памяти Zend Engine для полного освобождения всего набора переменных запроса.

Настройка opcache.enable_file_override

Значение по умолчанию «0» (boolean). Режим установки PHP_INI_SYSTEM.

Когда данный параметр включен, кеш opcode будет проверяться на предмет того, был ли файл уже кэширован, при вызове функций file_exists(), is_file() и is_readable(). Это может повысить производительность приложений, которые проверяют существование и читаемость сценариев PHP, но рискуют вернуть устаревшие данные, если отключена опция opcache.validate_timestamps.

Настройка opcache.optimization_level

Значение по умолчанию «0xffffffff» (integer). Режим установки PHP_INI_SYSTEM.

«Битовая маска», которая управляет выполнением проходов оптимизации.

Настройка opcache.inherited_hack

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_SYSTEM.

Поддерживается только для PHP < 5.3, OPcache хранит места, где opcodes DECLARE_CLASS используются для наследования; когда файл загружен, OPcache пытается привязать унаследованные классы, используя текущую среду. Проблема заключается в том, что, хотя opcode DECLARE_CLASS может не понадобиться для текущего скрипта, если сценарий требует, чтобы opcode был определен, он может не работать. Эта директива конфигурации игнорируется в PHP 5.3 и более поздних версиях. Настройка opcache.dups_fix

Значение по умолчанию «0» (boolean). Режим установки PHP_INI_ALL.

Этот хак должен быть включен только для обхода ошибок типа «Невозможно повторное объявление класса» (Cannot redeclare class).

Черного список OPcache

Настройка opcache.blacklist_filename

Значение по умолчанию «» (string). Режим установки PHP_INI_SYSTEM.

Расположение файла черного списка OPcache. Черный список — это текстовый файл, содержащий имена файлов, которые не должны ускоряться, по одному в строке. Разрешены подстановочные знаки и префиксы. Строки, начинающиеся с точки с запятой, игнорируются как комментарии.

Простой файл черного списка может выглядеть следующим образом:

; Matches a specific file.
/var/www/broken.php
; A prefix that matches all files starting with x.
/var/www/x
; A wildcard match.
/var/www/*-broken.php

Настройка opcache.max_file_size

Значение по умолчанию «0» (integer). Режим установки PHP_INI_SYSTEM.

Максимальный размер файла, который будет кэшироваться в байтах. Если значение 0, то все файлы будут кэшироваться.

Настройка opcache.consistency_checks

Значение по умолчанию «0» (integer). Режим установки PHP_INI_ALL.

Если это значение не равно нулю, то OPcache проверит контрольную сумму кэш-памяти при каждом запросе под номером N, где N — значение этой директивы конфигурации. Это значение должно быть включено только при отладке, так как оно ухудшает производительность.

Настройка opcache.force_restart_timeout

Значение по умолчанию «180» (integer). Режим установки PHP_INI_SYSTEM.

Время ожидания до начала запланированного перезапуска, если кеш не активен, в секундах. Если тайм-аут не истек, то OPcache предположит, что что-то не так, и убьет процессы, хранящие блокировки в кэше, чтобы разрешить перезапуск.

Если для параметра opcache.log_verbosity_level установлено значение 2 или выше, то при этом, в журнале ошибок, будет записано предупреждение.

Журнал ошибок для OPcache

Настройка opcache.error_log

Значение по умолчанию «» (string). Режим установки PHP_INI_SYSTEM.

Журнал ошибок для OPcache. Пустая строка обрабатывается так же, как и stderr, и приводит к отправке в стандартный журнал ошибки (в большинстве случаев это будет журнал ошибок веб-сервера), ошибки будут выводятся в консоль.

Настройка opcache.log_verbosity_level

Значение по умолчанию «1» (integer). Режим установки PHP_INI_SYSTEM.

Уровень детализации журнала. По умолчанию регистрируются только фатальные ошибки (fatal errors) (уровень 0) и ошибки (уровень 1). Доступны также другие уровни: предупреждения (warnings) (уровень 2), информационные (information) сообщения (уровень 3) и отладочные (debug) сообщения (уровень 4).

Настройка opcache.preferred_memory_model

Значение по умолчанию «» (string). Режим установки PHP_INI_SYSTEM.

Предпочтительная модель памяти для использования OPcache. Если оставить пустым, OPcache выберет наиболее подходящую модель, что является правильным поведением практически во всех случаях.

Возможные значения: mmap, shm, posix и win32.

Настройка opcache.protect_memory

Значение по умолчанию «0» (boolean). Режим установки PHP_INI_SYSTEM.

Защищает общую память от непредвиденных записей при выполнении скриптов. Это полезно только для внутренней отладки.

Настройка opcache.mmap_base

Значение по умолчанию NULL (string). Режим установки PHP_INI_SYSTEM.

База, используемая для сегментов разделяемой памяти в Windows. Все процессы PHP должны отображать общую память в одно адресное пространство. Использование этой директивы позволяет исправлять ошибки «Невозможно повторно подключиться к базовому адресу» («Unable to reattach to base address»).

Настройка opcache.restrict_api

Значение по умолчанию «» (string). Режим установки PHP_INI_SYSTEM.

Позволяет вызывать функции OPcache API только из сценариев PHP, путь которых начинается с указанной строки. Значение по умолчанию «» означает отсутствие ограничений.

OPcache настройки, доступные для PHP 7 и выше (их нет в PHP 5)

Настройка opcache.file_cache

Значение по умолчанию NULL (string). Режим установки PHP_INI_SYSTEM. Доступно начиная с PHP 7.0.0

Включает и задает каталог кэша второго уровня. Это должно улучшить производительность, когда память SHM заполнена, при перезапуске сервера или сбросе SHM. По умолчанию «» отключает кэширование на основе файлов.

Настройка opcache.file_cache_only

Значение по умолчанию «0» (boolean). Режим установки PHP_INI_SYSTEM. Доступно начиная с PHP 7.0.0

Включает или отключает кэширование opcode в общей памяти.

Настройка opcache.file_cache_consistency_checks

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_SYSTEM. Доступно начиная с PHP 7.0.0

Включает или отключает проверку контрольной суммы при загрузке скрипта из кеша файла.

Настройка opcache.file_cache_fallback

Значение по умолчанию «1» (boolean). Режим установки PHP_INI_SYSTEM. Доступно начиная с PHP 7.0.0

Подразумевает opcache.file_cache_only = 1 для определенного процесса, который не смог повторно подключиться к общей памяти (только для Windows). Необходимо явное включенный кеш файлов.

Настройка opcache.validate_permission

Значение по умолчанию «0» (boolean). Режим установки PHP_INI_SYSTEM. Доступно начиная с PHP 7.0.14

Проверяет права доступа текущего пользователя к кэшированному файлу.

Настройка opcache.validate_root

Значение по умолчанию «0» (boolean). Режим установки PHP_INI_SYSTEM. Доступно начиная с PHP 7.0.14

Предотвращает конфликты имен в средах chroot (chroot environment). Эта настройка должна быть включена во всех средах (environments) chroot для предотвращения доступа к файлам вне chroot.

———

Материал взят с официального сайта PHP и содержит перевод настроек конфигурации Zend Opcache на русский язык.



www.000webhost.com