Какие лучшие ускорители php?

Алгоритмы вытеснения

Если в кэше нет свободного места для новых данных, то в работу вступают разнообразные механизмы вытеснения (очистки) кэша.

  • LRU (Least recently used) — алгоритм, который находит и вытесняет данные, которые не использовались дольше всех.
  • MRU (Most Recently Used) — вытесняются последние используемые данные.
  • LFU (Least Frequently Used) — вытесняются редко запрашиваемые данные.

Выбор правильного алгоритма зависит от того как данные используются в системе. LRU подходит в тех случая когда данные гарантированно будут повторно используемые. MRU подходит для данных, которые запрашивались совсем недавно, но данные не будут повторно использованы в ближайшее время.

Совет 1: не делайте ничего

Лучшее, что JS-разработчик может сделать для оптимизации кэширования кода, — ничего не делать. Но ничего не делать можно по-разному: пассивно и активно.

Вебинар «Как попасть в IT без опыта и остаться там»
12 марта в 16:00, Онлайн, Беcплатно

tproger.ru

События и курсы на tproger.ru

Кэширование кода в конце концов является частью реализации браузера. По сути, это увеличение производительности за счёт дополнительных расходов памяти, реализация и эвристика которых могут постоянно меняться. Мы, как разработчики V8, должны делать всё возможное, чтобы эти эвристики работали для каждого. Если чрезмерно оптимизировать кэширование кода, можно очень разочароваться уже после нескольких релизов, когда эти детали изменятся. Кроме того, другие механизмы JavaScript могут иметь различные эвристики для своей реализации кэширования кода. Так что во многих отношениях лучший совет для получения кэшированного кода похож на совет по написанию JS: пишите чистый идиоматический код и сделайте всё возможное, чтобы оптимизировать его кэширование.

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

Не меняйте код

Всякий раз, когда вы отправляете новый код, он ещё не кэширован. Когда браузер делает HTTP-запрос для URL-адреса сценария, он может включать дату последней выборки этого URL-адреса. Если сервер знает, что файл не изменился, он может отправить ответ «304 Not Modified», который сохраняет кэш кода «горячим». В противном случае ответ «200 OK» обновляет кэшированный ресурс и очищает кэш кода, возвращая его обратно в «холодный» режим.

Всегда хочется сразу же отправить последние изменения кода, особенно если вы хотите измерить влияние конкретного изменения, но для кэша лучше позволить коду существовать как он есть, по крайней мере, обновлять его как можно реже. Подумайте о том, чтобы установить ограничение «≤ Х развёртываний в неделю», где Х — это слайдер, который вы можете регулировать для баланса между кэшированием и устареванием данных.

Не меняйте URL’ы

Кэш кода связан с URL-адресом скрипта, так как это облегчает поиск, ведь нет необходимости читать фактическое содержимое скрипта. Это означает, что изменение URL-адреса (включая любые параметры запроса) создаёт новую запись в кэше ресурсов, а вместе с ним и новую запись «холодного» кэша.

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

Не меняйте поведение выполнения

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

Эта оптимизация работает лучше всего, когда каждый запуск скрипта выполняет один и тот же код или хотя бы одинаковые функции. Это может быть проблемой, если у вас есть, например A/B-тесты, которые зависят от выбора времени выполнения:

В этом случае только A() или B() компилируются и выполняются при «горячем» запуске и вводятся в кэш кода, но любой из них может быть выполнен и в последующих запусках. Вместо этого надо попытаться сохранить выполнение детерминированным, чтобы сохранить его в кэшированном пути.

Компоненты кэширования ¶

Кэширование данных опирается на компоненты кэширования, которые представляют различные хранилища, такие как память, файлы и базы данных.

Кэш-компоненты, как правило, зарегистрированы в качестве компонентов приложения, так что их можно настраивать и обращаться к ним глобально. Следующий код показывает, как настроить компонент приложения для использования Memcached с двумя серверами:

Вы можете получить доступ к компоненту кэша, используя выражение .

Поскольку все компоненты кэша поддерживают единый API-интерфейс — вы можете менять основной компонент кэша на другой через конфигурацию приложения. Код, использующий кэш, при этом не меняется. Например, можно изменить конфигурацию выше для использования APC cache следующим образом:

OPcache заменяет APC

Поскольку OPcache предназначен для замены модуля APC, невозможно запустить их параллельно в PHP. Это отлично подходит для кэширования PHP-кода операции, так как не влияет на то, как вы пишете код.

Однако это означает, что если вы используете APC для хранения других данных (через ), вы не сможете это сделать, если решите для использования OPCache.

Вам понадобится использовать другую библиотеку, например APCu или Yac, которые оба хранить данные в общей памяти PHP или переключать на использование чего-то вроде memcached, который хранит данные в памяти в отдельном процессе для PHP.

Кроме того, OPcache не имеет эквивалента индикатора прогресса загрузки, присутствующего в APC. Вместо этого вы должны использовать Процесс загрузки сеанса.

PHP running as CGI or FastCGI

Flushing the Opcache on CGI or FastCGI PHP is super simple: it can’t be done.

Not because you can’t flush the cache, but because the cache is flushed on every request anyway. FastCGI starts a new process on every request and does not have a parent PHP process to store the Opcache results in.

In fact, having Opcache running in a CGI or FastCGI model would hurt performance: on every request the Opcache is stored in the FastCGI process (default behaviour if the Opcache extension activated), but that cache is destroyed as soon as that process dies after finishing the request.

Storing the Opcache takes a few CPU cycles and is an effort that cannot be benefited from again later.

CGI or FastCGI is about the worst possible way to run your PHP code.

Отключение кэширования

Как говорилось выше, в некоторых случаях, кэширование может навредить и на некоторых страницах его стоит отключить. В настройках виртуального хоста, мы можем создать отдельный location, для которого отключиться кэш, например:

    location /proxy_nocache {
        proxy_pass http://localhost:3000;
        …
        proxy_cache off;
    }
    location /fastcgi_nocache {
        fastcgi_pass http://localhost:9000;
        …
        fastcgi_cache off;
    }

* обратите внимание, что в данном примере мы отключаем кэширование как для запросов proxy_pass, так и fastcgi_pass. При отключении кэширования для статики используем следующую конфигурацию:

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

    server {
        …
        location ~* ^.+\.(jpg|jpeg|gif|png|css|js)$ {
            root /var/www/site
            expires epoch;
        }
    }

* expires epoch задаст заголовок сache-control с временем окончания кэша «1 января 1970 00:00:01».

Xcache

Поддерживает функции оптимизации скриптов, кэширования байт-кода в оперативную память, кэширования пользовательских данных в shared memory, простого профилирования работы скриптов. Имеет собственный GUI, наличие и использование которого, однако, не обязательно для функционирования пакета. Бесплатен.
XCache решает большинство проблем, которые присутствуют у других акселераторов. Например, возможность использования с более новыми версиями PHP.
Проект живет и развивается. Поддерживает PHP4 и PHP5, включая 5.5.
Xcache очень агрессивно кэширует байт-код php и после того как он был закэширован в памяти, оптимизатор попросту перестаёт проверять (или делает это крайне редко) был ли оригинальный скрипт изменён на диске. Это приводит к тому, что если работает xcache и вы отредактировали свой php файл, то изменения в работе скрипта вы увидите далеко не сразу, т.к. xcache попросту не подгрузит их из файла и не скомпилирует, а просто подставит данные из кэша.
Его версии выходят чаще, а так же его обещают включить в стандартную поставку php6

Conclusion PHP OPcache optimization

Tuning OPcache configuration and runtime settings decreases CPU usage on your web server, and may increase memory usage. If done right this’ll speed up your – or your customer’s – websites and PHP throughput.

After making the changes above, and letting Saotn.org run for a little while (little being the operative word…), the OPcache numbers are:

On a side note: my website also runs ran WinCache Extension for PHP, as caching back-end in PHP, so these numbers might not reflect your situation. Always test configuration settings in your test- or staging environment before putting it into production.

(2) Server Caching

All our servers run the Nginx proxy web server. It sits in front of Apache and accelerates content and application delivery. Nginx also facilitates high availability and scalability for the busy websites with its abiity to handle a lot of concurrent users. It also handles caching at server level. Nginx caches static files in a temporary directory and serves them from there rather than requesting from the file system. This is a small part of what Nginx so fast compared to Apache. If you’re running a website on one of our Linux servers that magic is always happening.

So that’s all your static content caching dealt with. Done.

In Conclusion

I think I saw some stats somewhere that said 25% of new websites are built solely with WordPress. Of the remaining 75% I’m sure a large percentage use WordPress for a company blog. Coming in second is Joomla, Drupal and Magento. So it’s highly probable that you need to use all 4 caching methods. In addition to this you moving to PHP 7.x should be part of your website optimization strategy. All applications run much faster with PHP 7 compared to PHP 5.6. According to Zend Magento’s execution time is twice as fast with PHP 7 with a 30% memory consumption reduction. Drupal runs 72% faster and WordPress is twice as fast! I’m switching HostNexus to PHP 7 as soon as I’ve upgraded our Connect billing and support portal to the latest and greatest version that supports it.

If you use WordPress you can take advantage of all caching types with one powerful WordPress plugin called W3 Total Cache. It’s a complex plugin but armed with the knowledge above you’ll be able to drastically speed up WordPress and also understand what you are doing. My next post will cover your basic configuration for W3 Total Cache.

Happy Caching!

Как скорость сайта влияет на видимость и место в поиске?

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

Это особенно актуально сейчас, когда развертывается мобильное индексирование.

Мобильные поисковые запросы впервые в 2015 году превысили количество поисковых запросов на десктопах, и их доля в общем поиске продолжает расти.

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

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

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

Теперь страницы индексируются и ранжируются на основе опыта, который они предоставляют мобильным пользователям

Поэтому, если вы хотите сохранить (или улучшить) свой рейтинг и видимость в поисковой выдаче, важно знать, как сократить время загрузки веб-сайта. У вас должен быть сайт с быстрым и простым пользовательским интерфейсом в любом браузере и при любом размере экрана

OpCache vs Memcached?

A few months ago one of our Managed Dedicated Server clients asked me about caching for his busy WordPress site. He said he had narrowed it down to “OpCache vs Memcached” and which did I recommend. This being my preferred caching stack I soon set him straight and advised him how he could easily take advantage of both. But I realized that most webmasters just didn’t understand how caching works so I’m hoping this article will shed some light on the subject. I decided I should probably research and test additional caching tools but to be honest the caching landscape hasn’t changed much recently. A lot of caching tools that used to be popular don’t have any active development.

And what further complicates the matter is the fact we run Plesk and cPanel servers and some types of caching work well on one and not on another. It’s hard to find a one size fits all solution but I believe we have.

Basically if you run a static HTML then all you need to do is Leverage Browser Cache. If your site has a dynamic PHP frontend with generated content you need your leverage browser caching, some server caching which is handled by Nginx and a bytecode cache like OpCache which is compiled into later versions of PHP. And if you have an active database you need a key/value cache store called Memcached. Plus you should be on PHP 7.x with your web server running HTTP-2. The eyes of the average webmaster are glazing over right but it’s not that hard to understand so bear with me!

eAccelerator

eAccelerator — это свободный opensource-проект, выполняющий роли акселератора, оптимизатора и распаковщика. Также встроены функции динамического кэширования контента. eAccelerator повышает производительность работы PHP-скриптов за счет кэширования скомпилированного байт-кода, таким образом издержки на процесс компиляции ликвидируются. Также он оптимизирует скрипты для ускорения времени их исполнения. eAccelerator обычно снижает нагрузку на сервер и увеличивает скорость работы php кода в 1-10 раз.
eAccelerator сохраняет скомпилированый PHP-код сначала в общей памяти, затем на диске, все время поддерживая размер занятой памяти оптимальным для производительной работы приложений.
Поддерживает PHP4 и PHP5, включая 5.3.

Opcache settings Explained straight Forward

Cache Expiry

opcache.revalidate_freq=0 

disable cache expiry check until php-fpm restarts,   Its not a good not a idea to Same Compiler code for every Dynamic Php request unlike fastcgi cache its dynamic its has to expiry otherwise we get errors. (ex wordpress admin dashboard).

TO enable  Re valiting cache opcache.revalidate_freq=1.

opcache.validate_timestamps=0

when this enable above option works  , 0 Means no validation, timestamp  = realidating frequency. (set your time) 60mins seconds

opcache.max_accelerated_files=7963   

Decide the Max amount php files to be cached.

you can check how much amount of php files in your directory available for executing this command

find /var/www/html/ -iname *.php|wc -l

Most frequently caching Files are better option.

opcache.memory_consumption=192 

from your Server ex: 4GB,8Gb,16Gb

4gb, 512Mb for system, mysql innodb buffer pool equal to database 512MB. Fastcgi cache 200MB.

php-fpm fool manager (128*10 = 1GB)* Nginx Server 512MB.

Its a bad idea to dedicate memory without analyzing actual usage. you may frequently get memory hog (memory 100% messages)

(amount of shared memory from your server ram)

opcache.interned_strings_buffer=16   (RAM for strings to cache them as array)

chunks of memory you allocated

ex 1GB allocated then divide 1gb/16= to avoid memory leaks

opcache.fast_shutdown=1  (enables fast  reset of cache)

How to decide opcache.max_accelerated_files?

; Only numbers between 200 and 1000000 are allowed.

The maximum number of keys (scripts) in the OPcache hash table.

opcache.max_accelerated_files you can use this Bash one-liner to get the number of PHP files in your project:
find /var/www/html/ -iname *.php|wc -l
93327

How much amount of memory to allocate opcache?

Memory 1048
adjust to your need opcache.max_accelerated_files=10000 #

opcache.validate_timestamp=0 revalidate (1 is enable if)
opcache.revalidate_freq=86000   /php code not worked in wp dashboard ga analytics.

opcache.file_cache=/var/www/.opcache  // no need if enough ram is there.
opcache.error_log= /var/log/nginx/opcahce_error.log

so i reduced validate freq, memory,  max accelerated files.

; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
;opcache.enable_cli=0

; The OPcache shared memory storage size.
opcache.memory_consumption=200

; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=16

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=2000

; The maximum percentage of “wasted” memory until a restart is scheduled.
opcache.max_wasted_percentage=5

5 means 5% wasted

memory that has been allocated to the service but is not in use. when it triggers its restarts.

; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
;opcache.use_cwd=1

; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.

Кэширование PHP

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

  • Кэширование готовых страниц — страница генерируется php, а потом пользователю отдается готовая страница без обращения к php. Я расскажу как это сделать через fastcgi, но не рекомендую применять такой метод для wordpress или других движков, их лучше кэшировать с помощью специальных плагинов;
  • Кэширование байт кода и инструкций — а это уже интересно, кэшируется не вся страница, а только некоторые инструкции, и куски байт кода, которые не изменяются при вызовах скрипта. Перед тем как выполнять скрипт, интерпретатор должен преобразовать его в понятный для него формат, при кэшировании такое преобразование выполняется только первый запуск, а дальше берется версия из кэша;
  • Кэширование сессий — по умолчанию php сохраняет сессии пользователей в файлы и мы можем немного ускорить его работу, если будем сохранять сессии в оперативную память.

Дальше рассмотрим более подробно, как настроить каждый вид кэширования для вашего сервера. Начнем с кэширования opcode php.

Настройка кэширования для proxy_pass

Как было сказано выше, для разных методов обращения к серверу, который обрабатывает запрос, нужно использовать разные  методы кэширования.

Включение кэширования

Открываем конфигурационный файл nginx:

vi /etc/nginx/nginx.conf

В секцию http добавляем:

http {
    …
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=all:64m inactive=2h max_size=2g;
    …
}

* в данном примере мы задали глобальную настройку для кэширования:

  • /var/cache/nginx — путь хранения кэша.
  • levels — уровень вложенности каталогов. В данном примере мы задаем настройку, при которой в каталог с кэшем будет создан каталог, а в ней — еще один каталог.
  • keys_zone — имя зоны в разделяемой памяти, где будет храниться кэш, а также ее размер.
  • inactive — задает время, после которого кэш будет автоматически чиститься.
  • max_size — максимальный размер данных под кэш. Когда место заканчивается, nginx сам удаляет устаревшие данные.

Создаем каталог для хранения кэша и задаем владельца:

mkdir /var/cache/nginx

chown nginx:nginx /var/cache/nginx

Настройка хостов

Чтобы определенный сайт или отдельная страница кешировала запрос, открываем конфигурационный файл с настройками виртуального домена или хоста, например:

vi /etc/nginx/conf.d/default.conf

… и добавим к proxy_pass кэширование — мы получим что-то на подобие:

    location / {
        if ($http_cookie ~* «.+» ) {
            set $cookie_cache_bypass 1;
        }
        proxy_cache_bypass $cookie_cache_bypass;
        proxy_pass http://localhost:3000;
        …
        proxy_cache all;
        proxy_cache_valid 404 502 503 5m;
        proxy_cache_valid any 1h;
        proxy_cache_use_stale error timeout invalid_header updating;
    }

* где:

  • set $cookie_cache_bypass 1 — задаем значения переменной $cookie_cache_bypass, если передаются куки. Необходимо для предотвращения отдачи устаревших данных.
  • proxy_cache_bypass — не отдавать данные из кэша. В нашем случае, применяется при куках.
  • proxy_pass — передает запросы на бэкэнд.
  • proxy_cache — включаем кэширование.
  • proxy_cache_valid — задает время кеширования. В нашем примере первый параметр задает кэширование страниц с кодами ответов 404, 502, 503 на 5 минут, второй — для всего остального на 1 час.
  • proxy_cache_use_stale — указывает, в каких случаях можно отдать устаревший кэш.

Применение настроек

NGINX настроен. Проверим корректность настроек:

nginx -t

Если ошибок нет, применяем их:

systemctl restart nginx

Теперь заходим на сайт и смотрим в каталог с кэшем — в нем должны появиться каталоги и файлы:

ls /var/cache/nginx/

Мы должны увидеть что-то на подобие:

drwx——. 3 nginx nginx 4096 Jan 25 16:09 0
drwx——. 5 nginx nginx 4096 Jan 25 16:09 2
drwx——. 5 nginx nginx 4096 Jan 25 16:15 3
drwx——. 3 nginx nginx 4096 Jan 25 16:09 4
drwx——. 4 nginx nginx 4096 Jan 26 05:08 5
drwx——. 3 nginx nginx 4096 Jan 25 16:09 6
drwx——. 3 nginx nginx 4096 Jan 26 04:18 7
drwx——. 3 nginx nginx 4096 Jan 25 16:10 8
drwx——. 5 nginx nginx 4096 Jan 25 16:15 a
drwx——. 3 nginx nginx 4096 Jan 25 16:09 b
drwx——. 5 nginx nginx 4096 Jan 26 04:19 e
drwx——. 3 nginx nginx 4096 Jan 25 19:55 f

Отладка JIT (opcache.jit_debug)

PHP JIT обеспечивает способ выдачи отладочной информации JIT путем установки конфигурации INI. Когда установлен определенный флаг, он выводит код сборки для дальнейшей проверки.

Директива opcache.jit_debug принимает значение битовой маски для включения определенных функций. В настоящее время он принимает значение в диапазоне от 1 (0b1) до 20 двоичных разрядов. Значение 1048576 представляет максимальный уровень вывода отладки. 

JIT поддерживает несколько других параметров конфигурации, чтобы настроить, сколько вызовов функций делает ее «горячей» функцией, которая затем компилируется JIT, и порог для определения того, какие функции следует «JIT’ировать», на основе процента общих вызовов функций.

Полный список см. В разделе Конфигурация Opcache.  

(3) Application Front-end Caching

PHP code can also be cached at the bytecode level. When a PHP script is compiled by a web server some of that execution time is spent formatting the code into something a machine can read. With a bytecode cache like OpCache the code is compiled once and stored in the server’s memory. This precompiled code is then served on each script request instead of having to compile and parse on each script request ergo faster sites. OpCache is available with PHP 5.5 and higher and works with no extra configuration necessary in your code. If you’re not yet using PHP 5.5 or higher then make the change asap. From a security standpoint you should be using PHP 5.6 at least (or PHP 7 if your apps support it).

If you can’t upgrade your PHP due to some script dependence on on PHP 5.3 or lower then you need to dump that script. PHP 5.5 has been available for since June 2013 – there is really no excuse. :)

Установка APC

Для начала надо установить необходимые пакеты:

 # apt-get install apache2-threaded-dev php5-dev php5-pear make gcc g++ 

Затем установить APC при помощи pecl:

 # pecl install apc 

Отредактировать конфигурационный файл:

 #vi /etc/php5/apache2/php.ini 

Добавить в него следующую строку:

extension = apc.so
apc.shm_size = 64 Количество выделяемой оперативной памяти в МБ.
apc.enabled=1 APC включен. Довольно очевидная настройка, но очень важная. 
Отключение APC может привести к уменьшению производительности на рабочем сервере.
apc.shm_segments=1
apc.shm_size=32

Эти настройки показывают сколько памяти выделять под APC. APC.shm_segments=1 — показывает что выделяется один сегмент памяти, а apc.shm_size=32 показывает, что размер этого сегмента 32 мегабайта. Вы можете поменять размер сегмента, скажем на 64 мегабайта и перезапустить Apache. Потом если количество MISS не будет сведено к 1% сделать размер 128 МБ и так далее. Это основной параметр для работы с APC.

apc.cache_by_default=1
apc.filters= Работа APC для всех php скриптов. При этом мы можем закомментировать строчку с apc.filters.

apc.stat=1

Этот параметр напрямую влияет на производительность. При включенной настройке кэш в APC остается там пока не будет удален. В случае когда настройка отключена, то APC будет сравнивать время выполнения скрипта и время последнего изменения файла и добавлять в кэш новую версию. Эта настройка необходима для рабочего сервера, однако для разработки эту настройку лучше всего отключить. И еще при включенной настройке apc.stat необходимо очистить кэш APC при обновление модулей и ядра Drupal.

apc.ttl=0

Эта настройка показывает через сколько миллисекунд очистить кэш. При 0 кэш не очищается. Поэтому мы ставим 0, мы же не хотим чтобы каждый час нужный нам кэш очищался (по умолчанию 7200, то есть 2 часа).

 apc.num_files_hint=2048

Эта настройка может быть очень нужна, когда на сервере несколько сайтов, несколько Drupal. Потому что один Drupal может забивать в кэш более 500 файлов. Чтобы кэш одного сайта не затирал в кэше файлы другого, лучше включить эту настройку побольше (по умолчанию 1024).
Для вступления настроек в силу необходимо перезапустить веб-сервер.

 #/etc/init.d/apache2 restart 

How to Install OPcache on Your Server

If you have PHP version 5.5 and above, OPcache PHP opcode caching is installed and enabled by default. You don’t have to do anything else. There are also no additional requirements or configurations needed to run it.

That’s also why you won’t find any options if you were to look for them.

For details, check out Why You Need to Upgrade to PHP 7+ ASAP. (and How to Do It Right Now)

According to the PHP manual:

When you have done that, restart PHP using SSH.

On Apache, enter the command below to restart PHP.

For Nginx, enter the following:

How to Install OPcache on Earlier Versions

If your server is running on PHP versions 5.2, 5.3, or 5.4 you can manually install OPcache using the PECL command below:

Next, go to you php.ini file:

You’ll need to update your php.ini file with the following recommended settings:

You can often find your php.ini file among your site’s file folder system. If you’re not sure how to find it, contact your hosting provider.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: