Если вы читаете этот пост, скорее всего, ваш сайт работает с древней версией PHP. Вы не одиноки, версия PHP 5.3 используется на 31,1% всех сайтов и 5.4 на 29% сайтов. Обе эти версии PHP уже достигли конца своей жизни и больше не будут поддерживаться. А это значит, что на вашем сайте потенциально возможны большие угрозы безопасности.
Joomla является одной из самых мощных и безопасных CMS на планете. Но одной лишь Joomla не достаточно, чтобы защитить ваш сайт, если вы используете старую версию PHP. Люди часто критикуют и обвиняют CMS, когда их сайт взломан, но они могут и не понять, что это могло произойти из-за проблемы на сервере.
В Joomla недавно подняли требования к версии PHP до PHP 5.6 или 7. Но CMS также может работать на PHP 5.3.10+.
PHP 7 уже выпустили, и это прорыв истории в PHP. Поэтому давно пора обновить серверную версию PHP до PHP 7 или, по крайней мере, до 5.6+. В этом уроке я собираюсь показать вам, как вы можете это сделать.
**Важно: если вы решили обновиться до PHP 7, убедитесь, что версия Joomla на вашем сайте 3.5+ для того, чтобы система работала должным образом.
Виртуальный хостинг или VPS
Самый простой способ
Попросите своего хостера обновить PHP версию хостинга. Скорее всего, он сделает это бесплатно, и это самый простой способ обновиться. Однако, если они отказались или не в состоянии сделать это, то пришло время перейти к надежному поставщику услуг.
Обновить PHP через cPanel
Большинство хостингов предоставляют cPanel для самостоятельного управления хостингом. CPanel позволят вам обновить версию PHP через свой интерфейс. Найдите диспетчер версии PHP или варианты конфигурации PHP и щелкните по нему.
Выберите версию PHP 5.6+ или 7 и сохраните изменения.
Обновление через .htaccess файл
Если перечисленные выше способы не работают для вас, то ваш лучший выбор - обновить версию PHP с использованием файла .htaccess.
Перейдите в cPanel, "Диспетчер файлов" и выберите корень сайта. Это можно сделать и с помощью FTP. В корневом каталоге создайте новый файл (или отредактируйте существующий) .htaccess и добавьте следующую строку:
Чтобы перейти на PHP 5.6
AddHandler application/x-httpd-php56 .php .php5 .php4 .php3
Чтобы перейти на PHP 7.0
AddHandler application/x-httpd-php70 .php .php5 .php4 .php3
Эта настройка применяется рекурсивно для всех вложенных папок. В случае, если вы хотели бы иметь другую версию PHP в подкаталоге, создайте в нем новый .htaccess файл с директивой для нужной версии PHP.
VPS или выделенный сервер
Если вы используете Ubuntu 14.04 или ниже Вы можете обновиться с помощью этой команды :
sudo apt-get upgrade sudo apt-get dist-upgrade
Давайте добавим PHP репозиторий в наш список. Пожалуйста, выбрите соответствующую версию.
Для PHP 5.6
sudo apt-add-repository ppa:ondrej/php5-5.6
Для PHP 7.0
sudo apt-add-repository ppa:ondrej/php
Обновление до версии PHP 5.6
sudo apt-get install php5
Ваша версия PHP теперь повышена и необходима просто перезагрузить сервер.
Apache : sudo service apache2 restart
Nginx : sudo service nginx restart
Обновление до версии PHP 7
Обновление до версии PHP 7 требует немного дополнительной работы. Зависит от вашего веб-сервера для выполнения этой команды.
Обновление mod_php в Apache
Во-первых, необходимо установить новые пакеты (packages). Это обновит все важные файлы PHP, за исключением пакета PHP5-MySQL, которая будет удалена.
sudo apt-get install php7.0
Примечание: если вы внесли существенные изменения в файлы конфигурации в /etc/PHP5, то эти файлы останутся на месте, и на них можно ссылаться. Конфигурационные файлы для PHP 7.0 будут находиться в /etc/PHP/7.0.
Если вы используете MySQL, убедитесь в том, чтобы повторно добавить обновленные версии PHP и MySQL привязки:
sudo apt-get install php7.0-mysql
Обновление PHP-FPM в nginx
А теперь поговорим о процессе обновления системы с помощью nginx в качестве веб-сервера и PHP-FPM для выполнения PHP-кода.
Во-первых, установите новый PHP-FPM пакет и его зависимости:
sudo apt-get install php7.0-fpm
После этого вам будет предложено продолжить. Нажмите клавишу Enter, чтобы завершить установку. Если вы используете MySQL, убедитесь, что повторно установили PHP привязки к MySQL:
sudo apt-get install php7.0-mysql
Примечание: если вы внесли существенные изменения в файлы конфигурации в /etc/PHP5, то эти файлы останутся на месте, и на них можно ссылаться. Конфигурационные файлы для PHP 7.0 будут находиться в /etc/PHP/7.0.
Теперь обновите ваш сервер nginx блок с новым PHP 7.0.
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
Сохраните и закройте файл. Теперь остается просто перезагрузиться.
sudo service nginx restart
Проверить вашу версию PHP в админ-панели Joomla, откройте Система > Информация о системе. Вы сможете увидеть там номер вашей PHP версии.
Я настоятельно рекомендую обновиться до PHP 7, потому именно использование последней версии PHP сделает ваш сайт намного быстрее. Да и обновить версию совсем не сложно!