Сразу предупреждаем, что если у вас есть сайт, который работает на какой-либо версии PHP – не спешите его обновлять, потому что есть риск, что некоторые страницы сайта после такого обновления перестанут работать. Это – проблема практически любого языка программирования, потому что после обновления версии ломаются какие-либо зависимости, и все перестает работать. А вот для начинающих разработчиков изучать PHP стоит сразу с самой свежей+стабильной версии, потому что в процессе изучения PHP вы будете пользоваться самыми новыми «фишечками» языка. Ниже – о том, как обновить PHP вашего «ручного» сайта. Кроме того, в самом конце мы дадим простой совет тем, кто занимается разработкой сайтов и хочет проапгрейдить PHP до самой свежей версии.
Вообще, максимальная версия, которая сейчас используется для создания сайтов – это PHP 8, вышедшая в конце 2021 года. Но восьмая версия еще не получила статус стабильной – до сих пор фиксятся баги в вносятся улучшения.
Самая свежая, и при этом стабильная версия – PHP 7.
Здесь мы вкратце перечислим основные фичи, которые появились в PHP 7:
Если вы решили изучать программирование на PHP, то у вас скорее всего установлен какой-либо локальный сервер вроде WAMP или XAMPP, возможно вы самостоятельно поднимали какой-нибудь «серьезный» сервер – nginx или apache. Во всех этих случаях вам нужно обновлять сервер, а не PHP – версия PHP сама обновится до текущей, когда вы обновите сервер. Инструкции по обновлению несколько различаются от сервера к серверу, но общий принцип у них одинаков:
Естественно, после этого вам некоторое время придется повозиться со слетевшими зависимостями и всплывшими после миграции багами – от этого никуда не деться.
В этом случае вам нужно тянуть новую версию из репозитория PHP. Поскольку репозиторий – частный, сначала вам нужно установить дополнительный пакет, который упрощает работу с частными репозиториями:
sudo apt-get install software-properties-common python-software-properties
После того, как все установится, вам нужно будет «стянуть» все версии PHP:
sudo add-apt-repository ppa:ondrej/php
Теперь установка зависит от типа вашего сервера. Если вы используете Apache, то:
sudo apt-get install php7.0-mysql //перепривязываем язык программирования и базу данных mysql
sudo apt-get install php7.0 //ставим сам PHP
Если вы используете nginx, то все немного сложнее:
sudo apt-get install php7.0-fpm //и тут перепривязываем язык
Сначала обязательно делаем apt update и apt upgrade. После этого нужно подключить пользовательские репозитории:
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add –
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt-get install ca-certificates apt-transport-https
Последнее нужно делать только в том случае, если консоль выдала предупреждение о том, что не хватает каких-то зависимостей.
А дальше все просто:
apt-y install php php-common
после чего версия обновится.Для всех CMS обновление происходит одинаково. Если у вас локальный сервер, на котором установлена система управления контентом – вы заходите в настройки CMS, ищете «версия PHP» и выставляете нужную. Если ваш сайт лежит на хостинге с системой управления контентом – вы сначала заходите в настройки хостинга, ищете версию ПХП и выставляете нужную.
После этого, если ЦМС не обновилась сама – вы заходите уже в ее настройки и выставляете нужную версию PHP.
Как мы уже говорили выше, обновляться в первую очередь нужно тем, кто учит PHP – для изучения синтаксиса желательно иметь самые свежие функции, доступные в языке. К тому же это сильно влияет на основы программирования, которые вы будете учить – те же анонимные функции и классы, которые сильно упрощают разработку сложных приложений, могут быть недоступны в старых версиях. По поводу совместимости можете не переживать – все свежие CMS без проблем принимают и PHP 7, и PHP 8.
Если смотреть на эволюцию версий, то отличий – гигантское количество, все их мы здесь перечислять не будем (если вам очень интересно – в этой статье они детально расписаны). Мы же покажем, сколько запросов в секунду могут отрабатывать различные CMS на разных версиях языка:
PHP 5 | PHP 7 | |
WordPress | 96 | 204 |
Drupal | 182 | 316 |
Magento | 41 | 69 |
Laravel | 285 | 485 |
Zend Framework | 250 | 489 |
SugarCRM | 127 | 270 |
Естественно, точные числа зависят от конкретного железа, но вы можете проследить динамику: за счет новых функций и оптимизаций языка разработчики систем управления контентом могут повысить продуктивность бэк-энда сайта на 50-100%.
Дважды подумайте перед тем, как начинать обновление – здесь работает хороший принцип «работает – не трогай». Если обновиться все же надо – напишите в саппорт вашего хостинга и попросите инструкцию по обновлению. Обычно у саппорта такие инструкции есть, и в них учтены мелочи, которые критичны для конкретного хостинга.
Мы бы все же советовали 7-ю. Версии языка – это вещь довольно инертная, даже если вы сейчас начнете учить PHP с нуля, скорее всего к тому моменту, как вы выйдете на свою первую работу, PHP 7 еще будет доминирующим. Поэтому есть смысл учить именно его – если вы начнете с PHP 8, многие его «фишки» будут вам недоступны на реальных проектах.
Тезисно: