Настройка nginx для поддержки php на debian/ubuntu (nginx + php-fpm)

Требования PHP в пакетах

Второй набор данных — это то, какие версии требуются для пакетов PHP, представленных на Packagist.org. Проверяется только выражение require в их текущей ветке по умолчанию, чтобы узнать каковы требования, а набор данных включает только пакеты, которые были зафиксированы в прошлом году, чтобы исключить все проекты EOL, поскольку они не обновляют свои требования.

Требования PHP — последние ветки по умолчанию — май 2021 г. (+/- разница с ноября 2020 г.)

5.2 0,54% (-0,06)
5.3 6,4% (-1)
5.4 6,68% (-0,99)
5.5 6,19% (-0,39)
5.6 9,34% (-1,2)
7.0 13,75% (-1,44)
7.1 18,43% (-1,95)
7.2 16,95% (-0,72)
7.3 9,67% (+2,59)
 7.4 9,88% (+3,18)
 8.0 2,15% (+1,96)
 8.1 0% (0)

Как и в прошлый раз, версии 7.3/7.4 продолжают набирать обороты, PHP 8 также имеет неплохой старт. Однако самой используемой версией PHP по-прежнему является 7.1. Согласно приведенным выше диаграммам, я бы сказал, что 7.3 по-прежнему является хорошим вариантом для любой библиотеки, которая хочет поддерживать поддержку большинства пользователей, но 7.4 предлагает вам приятные функции и почти на 50% адаптирована, так что это допустимый вариант для нового кода. Процент использование PHP 8 все еще слишком низкий, и вероятно, останется таковым до выпуска Ubuntu 22.04.

Требование PHP 7.2+ охватывает ~ 90% пользовательской базы прямо сейчас, поэтому требовать меньшей версии уже больше нет необходимости,  Composer 2.2, выходящий позже в этом году, скорее всего, потребует этого. Кстати, если вы не используете Composer 2, вам действительно стоит подумать об обновлении!

Предыстория и перспективы дистанционного электронного голосования в России

Формат ДЭГ в России впервые применили в трех избирательных округах на выборах депутатов в Московскую городскую думу 8 сентября 2019 года на базе платформы для голосования, разработанной силами ДИТ Москвы. Тогда этот опыт носил экспериментальный характер, и не обошлось без проблем: наблюдались сбои по причине неполадок в работе аппаратуры для шифрования бюллетеней. Установка подобного оборудования предписывается нормативами информационной безопасности.

Платформа для удаленного голосования, разработанная в Москве, также использовалась во время голосования по поправкам к конституции, которое проходило с 25 июня до 1 июля 2020 года: система применялась в Москве и в Нижегородской области. Остальные регионы ЦИК тогда сочла недостаточно подготовленными. Кроме того, московскую платформу применяли на довыборах муниципальных депутатов в сентябре 2020 года.

В сентябре формат онлайн-голосования испытали также на довыборах в Госдуму в Курской и Ярославской областях. А в декабре 2020 года председатель ЦИК Элла Памфилова заявила, что к 2024 году электронное голосование на выборах могут внедрить по всей стране.

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

Глядя на то, как активно государство вовлекало избирателей в ДЭГ в 2021 году, масштабно продвигало его в СМИ и соцсетях, можно сказать, что участие как можно большего количества граждан в нем для государства представляется очень важным. А в Москве, в частности, появилась инициатива проведения программы «Миллион призов — #ВыбираемВместе» для москвичей, которые проголосуют на выборах депутатов Госдумы с 17 по 19 сентября. Московская торгово-промышленная палата провела розыгрыш квартир среди участников ДЭГ, зарегистрированных в программе.

Вместе с тем, перед выборами в сентябре 2021 года Элла Памфилова дала большое интервью «Ведомостям», в котором заявляла, что ЦИК пока не спешит с дополнительным расширением дистанционного голосования.

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

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

Тюнинг веб-сервера

PHP

Открываем на редактирование следующий файл:

vi /etc/php.ini

И правим следующее:

upload_max_filesize = 256M
post_max_size = 256M
short_open_tag = On
date.timezone = «Europe/Moscow»

Перезапускаем php-fpm и httpd:

systemctl restart php-fpm

systemctl restart httpd

NGINX

Открываем на редактирование следующий файл:

vi /etc/nginx/nginx.conf

И правим следующее:

worker_processes  auto;

И внутри секции http добавляем:

client_max_body_size 256M;

После перезапускаем nginx:

systemctl restart nginx

Подробнее про тюнинг NGINX в статье Практические советы по тюнингу веб-сервера NGINX.

Postfix

Чтобы отправляемая почта меньше попадала в СПАМ, необходимо выполнить следующие шаги:

  1. Прописать PTR-запись.
  2. Создать запись SPF.
  3. Настроить DKIM. 

Установка Nginx на Ubuntu 20.04

Установить Nginx можно двумя способами. Первый способ заключается в установки пакета из официального репозитория Ubuntu. На момент написания статьи (1 августа 2021 года) актуальной версией Nginx присутствующей в репозитории Ubuntu была версия 1.18.0. Данная версия считается устаревшей. Актуальной же версией считается 1.20.1 (по состоянию на 1 августа 2021 года).

1. Официальные репозитории Ubuntu

Если вы хотите установить версию Nginx из репозиториев Ubuntu необходимо выполнить следующие действия. Для начала обновляем списки пакетов при помощи команды:

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

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

2. Официальные репозитории Nginx

Второй способ заключается в установке последней версии Nginx из официальных репозиториев, которые предоставляют разработчики Nginx. Если вы хотите использовать данный метод установки, для начала необходимо обновить списки пакетов при помощи команды:

Установите необходимые пакеты:

Далее у вас на выбор есть два пути – подключить репозиторий со стабильной версией nginx или подключить репозиторий с основной версией. Стабильная версия является более проверенной и работоспособной. Эту версию можно использовать, как и в тестовых средах так и на производственных. Основная версия не такая стабильная и может содержать ошибки. Данную версию не рекомендуется использовать в производственных средах.

Для подключения репозитория со стабильной версией nginx, выполните следующую команду:

Для подключения репозитория с основной версией nginx, выполните следующую команду:

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

Проверьте, верный ли ключ был загружен:

Вывод команды должен содержать полный отпечаток ключа 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62:

Переместите ключ в каталог доверенных ключей apt:

Чтобы установить nginx, выполните следующие команды:

Версия Nginx от разработчиков немного отличается от версии из официальных репозиториев. Все дополнительные конфигурационные файлы здесь находятся в папке /etc/nginx/conf.d. Если вы хотите использовать папки sites-available и sites-enabled, то необходимо их создать:

Затем добавьте следующую строчку в конец секции http файла /etc/nginx.conf для того чтобы из папки /etc/nginx/sites-enabled загружалась конфигурация сайтов:

Затем перезапустите Nginx:

3. Запуск Nginx

После установки пакета, проверяем что Nginx успешно запустился при помощи команды:

Если в статусе вместо active будет inactive (dead), то сервис необходимо запустить вручную при помощи команды:

Так же обратите внимание, что вы не можете запускать Apache и Nginx на одном порту. В таком случае вы получите ошибку nginx address already in use 80. Для корректной работы Nginx, необходимо будет отключить веб-сервер Apache (если он у вас используется) или изменить его порт с 80 (который используется по умолчанию) на другой свободный порт

4. Настройка брандмауэра

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

5. Проверка работы Nginx

После того, как Nginx будет запущен, он будет доступен по адресу сервера, на который он устанавливался. Вы можете проверить, всё ли работает, просто перейдя по адресу сервера, введя его в браузере. Для примера Nginx был установлен на localhost:

Если вы увидите приветственное сообщение как на скриншоте выше это означает что Nginx успешно установлен и запущен.

4. Синтаксис

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

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

Простейшая программа Hello world на PHP выглядит следующим образом:

Также возможен более короткий вариант вывода строки:

Открывающий тег вида. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:

Установка Nginx:

Автор считает, что эти материалы могут вам помочь:
/var/run/php5-fpm.sock уже должен присутствовать на сервере? в ubuntu 16.04 не нашел такого файла в /var/run
Эмулятор Андроид, установка и настройка в Windows
Установка MySQL на Linux: подробная инструкция
Настройка айфона, нужна инструкция

1. Установка репозитария Nginx: в стандартных дистрибутивах Linux по умолчанию нет дистрибутива Nginx, поэтому добавим его в систему.

Далее нажмите i для перехода в режим редактирования редактора vi и вставьте:

Далее нажмите «:wq» и Enter для сохранения и выхода. Все, теперь Nginx доступен для автоматической установки через менеджер пакетов yum. Если вы используете другой дистрибутив Linux — перейдите на для получения инструкций именно для вашей системы.

2. Установка Nginx из репозитария: теперь просто выполните команду установки.

Шаг 3 – Установка PHP и настройка Nginx для использования процессора PHP

Теперь у вас есть Nginx для обслуживания ваших страниц и MySQL для хранения и управления данными, однако у вас до сих пор не установлено ПО, которое может генерировать динамический контент. Для этого требуется установить PHP.

Поскольку Nginx не поддерживает нативную обработку PHP, как некоторые другие веб-серверы, вам потребуется установить , т.е. «менеджер процессов fastCGI». Мы укажем Nginx передавать запросы PHP в это программное обеспечение для обработки.

Примечание. В зависимости от поставщика облачных услуг вам может потребоваться установить хранилище Ubuntu , которое включает бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом, поддерживаемое сообществом Ubuntu, прежде чем устанавливать пакет . Для этого можно ввести следующую команду:

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

Теперь у вас установлены все требуемые компоненты набора LEMP, однако вам нужно внести еще несколько изменений конфигурации, чтобы Nginx использовал процессор PHP для динамического контента.

Это изменение конфигурации выполняется уровне блока сервера (блоки сервера похожи на виртуальные хосты в Apache). Откройте новый файл конфигурации блока сервера в каталоге . В этом примере новый файл конфигурации блока сервера имеет имя , хотя вы можете использовать любое желаемое имя:

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

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

/etc/nginx/sites-available/example.com

Ниже описано действие этих директив и блоков расположения:

  • — определяет, что будет прослушивать порт Nginx. В данном случае он будет прослушивать порт , используемый по умолчанию для протокола HTTP.
  • — определяет корневой каталог документа, где хранятся файлы, обслуживаемые сайтом.
  • — задает для Nginx приоритет обслуживания файлов с именем (при наличии) при запросе файла индекса.
  • — определяет, какой серверный блок должен использоваться для заданного запроса вашего сервера. Эта директива должна указывать на доменное имя или публичный IP-адрес вашего сервера.
  • — первый блок расположения включает директиву , которая проверяет наличие файлов, соответствующих запросу URI. Если Nginx не сможет найти соответствующий файл, будет возвращена ошибка 404.
  • — этот блок расположения отвечает за фактическую обработку PHP посредством указания Nginx на файл конфигурации и файл file, который объявляет, какой сокет ассоциирован с .
  • — последний блок расположения отвечает за файлы , которые Nginx не обрабатывает. При добавлении директивы из файлов в корневой каталог документа они не будут выводиться посетителям.

После добавления этого содержания следует сохранить и закрыть файл. Для активации нового серверного блока создайте символическую ссылку от нового файла конфигурации серверного блока (в каталоге ) на каталог :

Затем уберите ссылку на файл конфигурации по умолчанию из каталога :

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

Протестируйте новый файл конфигурации на ошибки синтаксиса:

При появлении сообщений о каких-либо ошибках, вернитесь и повторно проверьте ваш файл, прежде чем продолжать.

Когда вы будете готовы, перезагрузите Nginx для внесения необходимых изменений:

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

Шаг 2 — Установка MySQL для хранения данных сайта

Вы можете легко установить MySQL следующей командой:

В процессе установки вам будет предложено ввести рутовый пароль (пароль администратора) для MySQL.

После завершения установки нам потребуется выполнить некоторые дополнительные команды, чтобы наше окружение MySQL было настроено безопасным образом. Введите следующую команду:

Скрипт запросит пароль, который вы только что задали для root пользователя в MySQL. Далее вам будет предложено сконфигурировать плагин валидации паролей ().

Внимание: решение включать плагин валидации паролей или нет носит субъективный характер. При включении все пароли, которые не удовлетворяют определённым критериям безопасности, будут отвергаться MySQL с сообщением об ошибке

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

Введите y для включения плагина или что-нибудь другое для продолжения без его включения:

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

Если вы включили валидацию паролей, вам будет показан уровень надёжности заданного вами ранее пароля root пользователя, а также вам будет предложено изменить этот пароль. Если вы не хотите менять пароль, введите n или no:

На все последующие вопросы просто вводите Y и нажимайте клавишу ENTER для выбора настроек по умолчанию. При этом удалятся некоторые тестовые пользователи и базы данных, будет отключена возможность удаленного доступа с учетной записью root-пользователя, и все изменения будут немедленно применены в MySQL.

Теперь ваша система управления базами данных установлена и мы можем двигаться дальше.

Тайна голосования

Сомнение в том, что в ДЭГ обеспечивается анонимность голосования, высказывали в «Пиратской партии России». Так, Александр Исавнин, член этой партии, преподаватель Свободного университета отмечал, что в ПТК ДЭГ, разработанном «Ростелекомом», применяется гомоморфное шифрование, фактически, выбор избирателей суммируется, не расшифровывая конкретные голоса. У «Ростелекома» есть голоса, поданные в последовательности. Компания знает, в какой последовательности сохранили голоса конкретных пользователей, и, применяя гомоморфное суммирование не ко всем голосам, а выбрасывая из блокчейна по одному и суммируя остаток, есть возможность понять, какой выбор был сделан конкретным пользователем, полагает Исавнин.

В ЦИК заявили TAdviser, что не разделяют утверждения о наличии проблемы в данном случае.

При этом необходимо отметить, что ПТК ДЭГ и соответствующий порядок дистанционного электронного голосования обеспечивают тайну голосования в понимании законодательства о выборах, а не его анонимность, — добавили в ЦИК.

А утверждения и допущения, что у «Ростелекома» есть голоса, поданные в последовательности, и есть возможность понять, какой выбор был сделан конкретным пользователем, в ЦИК считают некорректными. Реализация приведенных допущений теоретически возможна в случае:

  • Получения избыточной идентифицирующей информации от устройств участника голосования — однако, в системе ДЭГ устройство и передаваемая с него информация находится под контролем самого участника голосования; кроме того, участник голосования на произвольном шаге процедуры ДЭГ может воспользоваться дополнительными средствами анонимизации, в том числе сервисами прокси, виртуальных частных сетей и др.;
  • Обладания и свободного использования ключей расшифрования некими заинтересованными лицами — но в системе ДЭГ ключи расшифрования, носители их частей и технические средства их формирования, деления и сборки находятся под контролем избирательной комиссии дистанционного электронного голосования и определенных ей лиц, а зависимые от них ключи узлов ПТК ДЭГ — в неизвлекаемой форме в аппаратных средствах шифрования;
  • Создания вместо ПТК ДЭГ иной системы, задачей которой являлся бы контроль над волеизъявлением участников голосования — запись и обработка избыточной идентифицирующей информации об участниках голосования, произвольный подсчету и расшифрование промежуточных итогов голосования или отдельных бюллетеней. При этом в отношении такой системы было бы невозможно выполнение уже реализованных мер доверия.

Также в качестве мер доверия к ПТК ДЭГ доступ к одному из узлов системы предоставлен группе технического наблюдения Общественной палаты РФ, что позволяет ей контролировать процесс поступления и записи зашифрованных результатов волеизъявления, подведения и расшифрования итогов голосования во всем ПТК ДЭГ. Одновременно в отношении ПТК ДЭГ проведены аттестационные и контрольные испытания, предусматривающие проверку соответствия комплекса рабочей документации и направление отчетной документации по результатам испытаний в уполномоченные госорганы.

Зампред территориальной избирательной комиссии дистанционного электронного голосования (ТИК ДЭГ) Олег Артамонов утверждает, что система технически выстроена таким образом, чтобы никто не имел доступа к информации, кто именно какой бюллетень заполнял. За этим стоит сложная математика и криптография. Электронный бюллетень формируется на устройстве пользователя, а не на каких-то серверах, и в неизменном виде поступает в систему. При голосовании в браузер пользователя загружается приложение – протокол «слепой подписи», которое обрабатывает бюллетень таким образом, что система, знающая, кому она выдала бюллетень, не знает, как он заполнен. А система, которая получила заполненный бюллетень, не знает, кому этот бюллетень был выдан. У бюллетеня есть признак, никак с конкретным пользователем не идентифицируемый, не сопоставляемый, поясняет Артамонов.

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

Он также указал, что в 2020 году на голосовании по поправкам в конституцию дистанционного голосовали более 1 млн человек, и не было ни одного свидетельства того, что кого-то потом вызвал начальник за «неправильное» голосование при том, что подобные случаи обычно быстро становятся достоянием общественности.

Шаг 2. — Установка PHP7.2 на Ubuntu 18.04

Нужно добавить репозиторий чтобы все пакеты PHP7.2 нормально установились.(Рис.2)

sudo add-apt-repository ppa:ondrej/php

Рис.2 — Добавляем репозиторий для установки PHP7.2.

Обновляем список пакетов:

sudo apt update

Переходим к установке PHP7.2.(Рис.3)

sudo apt -y install php7.2 php7.2-fpm php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline

Если вы устанавливаете PHP7.2 для веб-сервера Apache, то требуется установить ещё один пакет libapache2-mod-php. Для того чтобы PHP-код у вас работал на Apache, а не просто отображал код в браузере:

sudo apt -y install php libapache2-mod-php

Пакеты я устанавливал по отдельности для проверки все они успешно установились. Пакеты php-common, php7.2-cli, php7.2-common, php7.2-json, php7.2-opcache, php7.2-readline скорее всего установятся вместе с предыдущими пакетами, которые написаны в начале этой длинной команды и вы получите в ответ «Уже установлен пакет … самой новой версии«. 

Рис.3 — Установка PHP7.2.

Проверяем статус php7.2-fpm.(Рис.4)

sudo service php7.2-fpm status

Рис.4 — Проверяем статус  php7.2-fpm.

У меня php7.2-fpm запустился. Об этом свидетельствует строчка — «Active: active (running)», также отсутствуют ошибки.

И php7.2-fpm добавлен в автозагрузку. Это мы понимаем по слову «enabled;» В строке  «Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; «.

Если у вас не запустился или не добавился в автозагрузку  php7.2-fpm, то воспользуйтесь командами:

Запускаем php7.2-fpm.

sudo service php7.2-fpm start

Добавляем php7.2-fpm в автозагрузку.

sudo systemctl enable php7.2-fpm

Доработка только для Nginx

Если у вас веб-сервер Apache, то переходите к следующему шагу — 

Для того чтобы PHP-FPM заработал с Nginx, необходимо отредактировать конфигурационный файл виртуального хоста. Так как у нас чистый Nginx мы не создавали новые конфигурационные файлы и не вносили изменения в существующие, то у нас доступен один стандартный конфигурационный файл виртуального хоста — /etc/nginx/sites-available/default, приступаем к его редактирванию.

sudo nano /etc/nginx/sites-available/default

Найдите данный фрагмент и приведите его к следующему виду.(Рис.5) :

Рис.5 — Редактирования файла виртуального хоста default.

location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php-fpm (or other unix sockets):
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.0.0.1:9000;
}

Сохраняем(Ctrl+o -> Enter) и закрываем(Ctrl+x -> Enter) конфигурационный файл.

Чтобы изменения применились нужно, чтобы Nginx перечитал конфигурационные файлы — делаем reload.

sudo service nginx reload

Настройка

Как и в пункте с установкой, настройка также будет разбита по пунктам. Давайте приступим.

Настройка Nginx для NextCloud

Приступим к настройке web-сервера nginx. Создадим файл конфигурации для NextCloud, работать наш сервер будет на порту 80. И так начнем:

Заполняем в соответствии с моим листингом:

Адрес https://mynextcloud.ru измените на свой.

Настроим PHP для работы с NextCloud. В терминале набираем:

Находим и редактируем следующие строки:

Настройка PostgreSQL

Сперва настроим наш PostgreSQL для прослушивания всех внутренних адресов сервера. Для этого открываем следующий файл:

Находим и редактируем данную строчку к такому виду:

Теперь можно создать нашу БД для NextCloud, а также создадим пользователя БД и пароль для него. Подключаемся к postgresql:

Создаем базу данных и пользователя для nextcloud

Далее переходим по адресу нашего сервера (локальному или внешнему например: ) и видим первоначальную установку NextCloud

Из скриншота видим, что на самом верху нам предлагается придумать учетную запись и пароль администратора nextcloud.

Далее идет поле для выбора каталога с данными. Данное поле отвечает за размещение всех данных пользователей в директории на сервере. Я оставляю без изменений.

Последняя группа полей ответственна за подключение к базе данных. Чуть выше мы создавали и настраивали БД PostgreSQL, вот эти данные и вводим сюда. И нажимаем кнопку продолжить.

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

На этом наша настройка домашнего облака NextCloud завершается. Всем удачи!!!

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы. Заранее всем спасибо!!!

Вывод из результатов тестирования

Как вы можете ясно видеть из приведенных выше тестов, PHP 7.4 лидирует, когда речь заходит о производительности на всех платформах. Мы протестировали производительность 22 платформ / конфигураций на 6 различных версиях PHP и PHP 7.4 взял золото в 17/17 (5 N / A)!

PHP 7.4 был самым быстрым в 17 из 22 конфигураций, протестированных выше. И одна из причин не был победителем по всем направлениям просто потому, что Drupal, Magento 2, October CMS, PyroCMS еще не полностью поддерживают PHP 7.4 или имеют проблему совместимости.

Что касается WordPress, PHP 7.4 был самым быстрым во всех тестах (сайт WordPress с 5.3, WooCommerce и легкими цифровыми загрузками).
Во многих тестовых результатах вы можете легко обнаружить повышение производительности с каждой новой версией PHP

Именно поэтому так важно протестировать ваш сайт, плагины и т.д. и придерживайтесь регулярного графика обновления.
Мы даже не тестировали предварительную загрузку, которая является новой функцией, введенной в PHP 7.4

Это означает, что 7.4 может быть даже немного быстрее.
Если ваш хостинг-провайдер не предлагает более новые версии PHP, возможно, пришло время подумать о переезде.
Для пользователей WordPress, помимо обновления до последней версии PHP, мы собрали гораздо больше методов, которые могут помочь вам в дальнейшем улучшить производительность веб-сайта. Смотрите подробную информацию в нашем руководстве о том, как ускорить ваш сайт WordPress.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

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