Zend OPcache - PHP-акселератор, обеспечивающий ускорение выполнения PHP кода благодаря кэшированию и оптимизации, сохраняет скомпилированный байт-код в разделяемой памяти.
Установка:
Конфигурационный файл OPcache находится:
Опции OPcache:
Установка:
- В терминале вводим:
Code:yum install php-opcache
- Перезапускаем PHP-FPM:
Code:service php-fpm restart
- Проверить установлен ли OPcache или нет, можно командой:
-
Code:
php -v
Конфигурационный файл OPcache находится:
/etc/php.d/10-opcache.ini
Опции OPcache:
- opcache.enable (значение по умолчанию 1) — включение/выключение OPcache.
- opcache.enable_cli (значение по умолчанию 0) — включение OPcache при вызове PHP из командной строки.
- opcache.memory_consumption (значение по умолчанию 64) — размер используемой памяти (в мб.) для хранения прекомпилированного PHP-кода.
- opcache.interned_strings_buffer (значение по умолчанию 4) — количество памяти для пула строк в мегабайтах.
- opcache.max_accelerated_files (значение по умолчанию 2000) — максимальное количество ключей в хэш-таблице OPcache. Число должно быть простым и быть больше, чем те, что приведены в примере: 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793. Допустимы числа между 200 и 1000000.
- opcache.max_wasted_percentage (значение по умолчанию 5) — максимальный процент замусоренной памяти для запланированного перезапуска.
- opcache.use_cwd (значение по умолчанию 1) — при включении добавляет текущую рабочую директорию в ключ скрипта для предотвращения возникновения колизий между файлами с одинаковым именем.
- opcache.validate_timestamps (значение по умолчанию 1) — появляется возможность обнуления OPcache вручную или перезапуском веб-сервера для того, чтобы привести в актуальное состояние данных об изменениях в файлах. Частота проверки управляется параметром opcache.revalidate_freq.
- opcache.revalidate_freq (значение по умолчанию 2) — через какой промежуток времени (в секундах) проверять изменения временных меток для поддержания данных в памяти в актуальном состоянии, где 1 — проверка с периодичностью раз в секунду, 0 — постоянная проверка.
- opcache.file_update_protection (значение по умолчанию 2) — предотвращает кэширование файлов, которые были изменены меньше, чем в указанное время (в секундах). Эта возможность защищает частично обновленные файлы от кэширования.
- opcache.revalidate_path (значение по умолчанию 0) — включение или отключение оптимизации поиска файлов в include_path, если поиск файлов выключен и будет найден закэшированный файл, используемый в include_path, файл не будет найден повторно. Таким образом, если файл с именем, попадающийся где-либо еще в include_path, он не будет найден.
- opcache.save_comments (значение по умолчанию 1) — если выключено, все комментарии PHPDoc будут удалены из кода с целью уменьшения размера оптимизированного кода. Не рекомендуется отключение этого параметра.
- opcache.load_comments (значение по умолчанию 1) — если выключено, то комментарии PHPDoc не будут загружаться из общей памяти.
- opcache.fast_shutdown (значение по умолчанию 0) — если включено, будет использоваться последовательность быстрых выключений для оптимизированного кода.
- opcache.enable_file_override (значение по умолчанию 0) — при включении OPcache будет проверять наличие закэшированного файла при вызовах file_exists(), is_file() и is_readable().
- opcache.optimization_level (значение по умолчанию 0xffffffff) — битовая маска, в которой каждый бит включает или отключает в соответствующие проходы OPcache.
- opcache.inherited_hack (значение по умолчанию 1) — включение этого хака при ошибках вида can't redeclare class. По умолчанию возможность отключена, т.е оптимизация активирована. В PHP-5.3+ этот хак не требуется.
- opcache.dups_fix (значение по умолчанию 0) — включайте при появлении ошибок вида Can't redeclare class.
- opcache.blacklist_filename — месторасположение списка файлов, к которым запрещен доступ для OPcache (поддерживаются маски). Каждый такой файл является текстовым файлом, в котором хранятся имена файлов, которые не требуется кэшировать, размещение имени каждого файла с отдельной строки. Имя файла может содержать полный путь, либо префикс.
- opcache.max_file_size (значение по умолчанию 0) — позволяет исключать большие файлы из кэширования. По умолчанию кэшируются все файлы.
- opcache.consistency_checks (значение по умолчанию 0) — проверять контрольную сумму кэша каждое N-ое количество запросов. По умолчанию параметр имеет значение 0, что отключает проверки. Подсчет контрольной суммы снижает производительность.
- opcache.force_restart_timeout (значение по умолчанию 180) — время ожидания (в секундах) перед перезагрузкой в случае недоступности кэша. После истечение времени ожидания OPcache перезапускает процессы, которые были все это время заблокированы.
- opcache.error_log — определение названия и местоположения лога ошибок OPcache. При пустом значении ошибки выводятся в консоль.
- opcache.log_verbosity_level (значение по умолчанию 1) — все ошибки OPcache отправляет в лог-файл веб-сервера. По умолчанию логируются только критические ошибки (0) и обычные ошибки (1). Дополнительно можно включить предупреждения (2), информационные сообщения (3) или отладочную информацию (4).
- opcache.preferred_memory_model — предпочитаемая модель общей памяти.
- opcache.protect_memory (значение по умолчанию 0) — защита общей памяти от несанкционированной записи во время выполнения.
- opcache.restrict_api (значение по умолчанию пустая строка) — разрешение вызова API-функций OPcache из PHP-скриптов, путь к которым начинается тем, что указано в строке. По умолчанию пустое значение означает запрет на все.
Last edited: