Заметное ускорение веб-сайтов с помощью PHP 7 и OPcache

PHP 7 ускоряет работу многих динамических веб-сайтов более чем на 100% по сравнению с PHP 5.6 благодаря кэшированию OpCode и оптимизированному движку Zend.

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

Совет

Не только скорость страницы влияет на рейтинг Google. Узнайте больше о поисковой оптимизации (SEO) в нашей статье от А до Я о поисковой оптимизации.

Улучшения скорости в PHP 7

PHP 7 достиг огромного увеличения скорости в основном за счет улучшений в Zend Engine, расширенного кэширования OpCode, улучшенной структуры данных и, следовательно, уменьшенных требований к памяти и более эффективного управления памятью.

Как работает кэширование OpCode

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

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

Подготовка к переходу на PHP 7

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

Вот пример: Введение подсказок типов и впервые зарезервированных слов «int», «string» и «float» все еще вызывает проблемы для некоторых CMS на начальном этапе. Joomla!, например, не совместима с PHP 7 в версии 3.4, потому что использует имя типа «string» способом, который не разрешен в PHP 7. Сообщество Joomla! тем временем исправило это использование.

Примечание

Клиенты IONOS могут просмотреть или изменить версию PHP для каждого домена отдельно в настройках PHP Центра управления IONOS.

Изменение версии PHP обычно занимает от нескольких секунд до минуты. Мы рекомендуем вам протестировать ваши скрипты после изменения. Вы можете отменить изменения версии PHP в любое время.

Включение OPcache через php.ini

После перехода на PHP 7 вы можете включить кэширование OpCode (OPcache) для своих сайтов. Для этого необходимо создать новый каталог для кэша в вашем онлайн-хранилище и адаптировать php.ini в корневом каталоге вашего сайта.

Создание каталога онлайн-хранилища для кэша

Войдите в свое онлайн-хранилище через SFTP

Создайте новую директорию в корневом каталоге. В будущем кэш для ваших сайтов будет храниться в этой директории.

Обратите внимание, что для защиты данных в кэше необходимо создать каталог с ведущей точкой (например: ../.opcache). Этот каталог будет автоматически защищен вашим веб-сервером Apache.

Сохранение абсолютного пути в php.ini

На следующем этапе вам необходимо ввести абсолютный путь к созданной директории .OPcache в php.ini.

Путь должен выглядеть следующим образом: /customers/websites/my-path/htdocs/.opcache

Настройка php.ini

Откройте главную директорию вашего сайта через SFTP и откройте файл php.ini.

Добавьте сюда следующую запись:

opcache.file_cache=/customers/websites/my-path/htdocs/.opcache;

Обратите внимание: используйте абсолютный путь к вашей директории .opcache .OPcache под opcache.file_cache=.

После этого шага все содержимое php.ini должно выглядеть следующим образом.

zend_extension=opcache.so;
opcache.enable=1;
opcache.memory_consumption=32;
opcache.interned_strings_buffer=8;
opcache.max_accelerated_files=3000;
opcache.revalidate_freq=180;
opcache.fast_shutdown=0;
opcache.enable_cli=0;
opcache.revalidate_path=0;
opcache.validate_timestamps=1;
opcache.max_file_size=0;
opcache.file_cache=/customers/websites/my-path/htdocs/.opcache;
opcache.file_cache_only=1;

Сохраните файл php.ini и загрузите его обратно в свое онлайн-хранилище.

Как проверить, активен ли OPcache для вашего сайта

После того, как вы активировали OPcache для своего сайта и несколько раз зашли на него, вы можете просто проверить, правильно ли работает кэш.

Снова войдите в свое онлайн-хранилище через SFTP и откройте каталог ../.opcache, который вы создали ранее. Вы должны увидеть в каталоге кэшированное содержимое вашего сайта.

Примечание

PHP 8 был выпущен в конце 2020 года. В отличие от PHP 7, новая версия PHP использует компилятор just-in-time, что немного увеличивает производительность по сравнению с OPcache.

Оцените статью
cdelat.ru
Добавить комментарий