
PHP 7 ускоряет работу многих динамических веб-сайтов более чем на 100% по сравнению с PHP 5.6 благодаря кэшированию OpCode и оптимизированному движку Zend.
Более высокая скорость страницы приводит к ускорению ее загрузки и улучшению пользовательского опыта для посетителей вашего сайта. В то же время, повышенная скорость является важным фактором при ранжировании вашего сайта в Google.
Не только скорость страницы влияет на рейтинг Google. Узнайте больше о поисковой оптимизации (SEO) в нашей статье от А до Я о поисковой оптимизации.
- Улучшения скорости в PHP 7
- Как работает кэширование OpCode
- Подготовка к переходу на PHP 7
- Включение OPcache через php.ini
- Создание каталога онлайн-хранилища для кэша
- Войдите в свое онлайн-хранилище через SFTP
- Сохранение абсолютного пути в php.ini
- Настройка php.ini
- Как проверить, активен ли OPcache для вашего сайта
Улучшения скорости в 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.