Php latest version
WordPress.org
Categories
Get a faster, more secure website: update your PHP today
Topics
Your WordPress site can be faster, and more secure, and you can make this happen!
This page will explain why this matters to you, and then how you can fix it.
Why PHP Matters To You # Why PHP Matters To You
PHP is the coding language WordPress is built on, and its version is set at the server-level by your hosting company. Whilst you may be familiar with the importance of keeping WordPress, and your themes and plugins up-to-date, keeping PHP up-to-date is just as important.
There are two main benefits to keeping PHP up-to-date:
- Your website will be faster as the latest version of PHP is more efficient. Updating to the latest supported version (currently 7.3) can deliver a huge performance increase; up to 3 or 4x faster for older versions.
- Your website will be more secure. PHP, like WordPress, is maintained by its community. Because PHP is so popular, it is a target for hackers – but the latest version will have the latest security features. Older versions of PHP do not have this, so updating is essential to keep your WordPress site secure.
And then there are a number of secondary benefits:
- A faster WordPress website will be rewarded by search engines, so you’ll rank higher in search!
- A faster website will retain visitors better (they’ll leave if it takes too long to load), making your website more effective.
- A more secure website is better protected against hackers, and the cost and reputational damage associated with a hacked website.
These benefits are good for you, and good for your website’s visitors. These are the reasons you should update PHP today. The next section will show you how to do this.
Before you update your PHP version # Before you update your PHP version
This section starts off with some warnings, but don’t be afraid! As with most things technical, we just need to cover some background before we can get to the part where you update your PHP version.
Updating your PHP version should not be a problem, but we can’t guarantee that it’s not. WordPress itself works with PHP versions as far back as 5.6.20 (we’re currently recommending version 7.3, so this is great backward compatibility!), but we don’t know if your themes or plugins will work. They should, and popular or reputable ones almost certainly will be, but we can’t guarantee it.
There are a couple of steps you should take to mitigate any risk before proceeding:
- Make a backup of your website: a backup will let you revert your site to how it is right now in the event anything goes wrong. There are plenty of free backup plugins available, so if you don’t have a backup solution already – use one of these. In order to revert this backup, you’ll also need your web host to move your PHP version back to your current version (we’ll cover how to do this later).
- Update WordPress, themes, and plugins: from your WordPress Dashboard, head to Updates, and then update all. You should do this regularly anyway. When done, check your site is working as expected.
- Check PHP compatibility: install the PHP Compatibility Checker plugin to check your themes and plugins for possible issues. This plugin isn’t perfect and may miss items or flag false positives, but it does work in most cases.
- Fix any PHP compatibility issues: if the PHP Compatibility Checker plugin picks up any issues, get in touch with the theme or plugin developer and ask them to investigate. If they can’t or won’t get back to you, have a look for themes or plugins on WordPress.org with similar functionality and use one of these instead.
Run through these steps, and you’ll be ready to update the PHP version on your WordPress site – and enjoy all of the benefits that come with this!
If you run into any issues whilst doing this or need help, you should contact a professional web developer, your hosting company, or your theme and plugins authors. All of these will be happy to help here.
We can now get on to the final part: actually updating your website’s PHP version.
How to update your website’s PHP version for a faster, more secure website # How to update your website’s PHP version for a faster, more secure website
You’re now ready to update your website’s PHP version! You’ve done due diligence, got backups, and are in the best possible shape to do the update.
As the PHP version is set at the server level by your hosting company, updating involves either interacting with your host’s settings or asking them to do it.
Thus, exactly how to do the update depends on your hosting company. We’ve asked hosting companies to submit instructions on how to update your PHP version on their hosting, and you’ll find a list of hosts who have instructions available here.
If you can’t find your host on this list, then email your hosting company and ask them to help! Here’s some template text you can use:
If you run into any issues at this stage, either change the PHP version back yourself, contact your hosting company or a professional web developer. In the unlikely event something goes wrong and you need to restore your backup, contact your host and ask them to restore the previous version of PHP you had running. You can then restore your backup.
You should now have all the information you need to update! Nice work! With an up-to-date version of PHP you’ll enjoy a faster, more secure website and happier visitors.
Faster, more secure WordPress websites for all # Faster, more secure WordPress websites for all
Making sure you have the latest version of PHP ensures your website is as fast, and secure as possible.
You now have all the information you need to update to the latest version of PHP, and you know how to update in the future as well. Look out for more PHP update messages on your WordPress Dashboard going forwards, or keep an eye on your hosting company’s news for more information.
As a final reminder: contact your hosting company, a professional web developer, or your theme and/or plugin authors for any additional questions. They’ll all be able to help out with their areas of expertise.
Thanks for making the internet a better place!
Как обновить PHP сайта и зачем это нужно
Лучшее — враг хорошего? Мы рассмотрели, как обновить версию PHP, на которой работает ваш сайт, и для чего это нужно.
Актуальная версия PHP
Сейчас проходит бета-тестирование PHP 7.3 — последний релиз в этом семействе. Актуальной на сегодняшний момент считается 7.2, которая превосходит в скорости и функциональности все прошлые версии.
Вот неполный список возможностей PHP 7:
- типы скалярных параметров и подсказки (hints) по возвращаемым типам;
- две новые функции CSPRNG;
- анонимные классы;
- оператор return в генераторах и другие обновления в них;
- улучшение функции assert() с сохранением обратной совместимости.
Как обновить PHP на Windows
Здесь все очень просто и прозаично:
1. Скачиваем последнюю версию PHP
2. Удаляем старую
3. Устанавливаем новую.
4. Прописываем заново настройки в Apache и PHP.
Но прежде чем обновлять, нужно внимательно изучить раздел Appendices в документации к новой версии. В нем описывается устаревший функционал, который больше не применяется в языке. Новые версии не поддерживают старый код: особенно трудна миграция с пятой на седьмую, у которой очень слабая обратная совместимость.
Если разработчик использует неподдерживаемые функции, то кусок кода, в котором они есть, просто не заработает. Поэтому перед обновлением нужно серьезно проанализировать этот раздел и в соответствии с ним — свой код.
Зачем обновлять, если все работает
Резонный вопрос, которым задаются многие программисты. Если не обновлять язык на собственном сервере, вы просто лишаете себя преимуществ и возможностей очередной версии.
В каждом релизе PHP появляются новые фишки и функции, а также закрываются уязвимости. Например, is_countable позволяет определить тип переменной — перечисляемый или нет. Это очень удобная возможность для веб-разработчиков. Сейчас приходится использовать для определения типа переменной if, а в PHP 7.3 это можно будет сделать одной функцией.
Однако обновление версии PHP — это болезненный процесс для команды разработки, означающий многодневный рефакторинг кода и исправление ошибок — всё из-за проблем с обратной совместимостью в этом языке. Ранее установленные плагины и скрипты могут конфликтовать с новой версией, работать некорректно или не подключаться вообще, добавляя головной боли разработчикам.
Веб-хостинг Plesk в своем блоге на Хабре выложил статистику, какие версии PHP используют их пользователи на своих сайтах. В начале марта2018 года ситуация выглядела вот так:
Как видите, самую последнюю версию используют очень немногие. Консервативное большинство остается верным надежным технологиям — от PHP 5.1 до 5.6.
Обновлять или не обновлять: вот в чем вопрос
Мы скажем так: Святого Грааля в проблеме обновления нет. Подходить к нему нужно с позиции целесообразности. Большой проект перевести на PHP7 будет сложно: придется рефакторить всю кодовую базу, но ради чего? Любое изменение должно исходить из рабочей потребности.
Если проблем с поддержанием работоспособности сайта и скоростью загрузки нет, то переход на более современную версию — лишняя трата времени и средств. Если разработчикам всего хватает в функционале — в обновлении тоже нет смысла. Переход на новую версию не должен обосновываться тем, что это круто, модно и молодежно.
На старых сайтах, где сплошной легаси Legacy code Устаревшая часть кодовой базы проекта. , разработчикам вообще страшно что-либо менять, так как велик риск все случайно поломать. Проект стабильно работает, а значит, изменения ни к чему. Зато разработку новых сайтов однозначно нужно начинать с установки последней версии языка.
Заключение
Мы рассказали, как обновить PHP, и коснулись некоторых важных нюансов. Если вы хотите знать больше и стать высокооплачиваемым специалистом, советуем пройти наш курс «PHP-разработчик от0 до PRO». Из него вы узнаете все необходимое для профессиональной работы с этим языком.
Как обновить PHP на WordPress: на хостинге в разных панелях и на локальных серверах
На момент написания статьи вышла версия 7.3 и сайты, которые сидят на 5 версии, имеют большой риск, какой читайте дальше.
Почему стоит обновляться
Причин для перевода на PHP свежей версии много, разберу несколько пунктов, которые не дадут вам пройти мимо обновления.
Безопасность
На каждую защиту есть свой взлом. Чем старее защита тем ее легче перепрыгнуть, так и здесь, чем старее версию PHP использует ваш блог, тем проще его взломать. Сам WordPress всегда поддерживает свежие выпуски всех программ.
Быстрота загрузки
С каждым выходом разработчики упрощают процессы и уменьшают число запросов. Производил замер на тестовом блоге, с версией PHP 5.6 запросов к базе данных в 3 раза больше чем на 7.1
Разработчики WordPress
Разработчики CMS WordPress всегда держат руку на пульсе, и меняют минимальные требования к своему продукту. При выходе версии вордпресс 5.0 официально заявили, что не дают гарантии на сайты, работающие на PHP ниже 7 выпуска будут стабильно работать.
Устаревшие плагины и темы
Не совсем плюс, но перейдя на новую версию PHP возможно некоторые плагины и темы WordPress могут перестать работать, что приведет к фатальным ошибкам и код заклинит. Плюс в том что вы сможете вычислить виновника и как минимум его удалить, потому что старое программное обеспечение делает дыры в безопасности.
Подготовка к переходу на PHP 7.2
Давайте максимально обезопасим себя от провалов при переходе на новую версию PHP на движке WordPress.
Обновление тем и плагинов
Обновите сразу все темы и плагины, которые содержаться в разделе «Обновления» в админке WordPress. Выделяем все объекты и нажимаем Обновить. Ту же процедуру проводим с темами.
Проверка на совместимость с PHP новой версии
Создатели WordPress советуют плагин PHP Compatibility Checker, он проверит дполнения на наличие совместимости. Найти и установить можно из админки поиском.
Далее заходим в настройки и выставляем параметры. Я выбрал проверить на совместимость с 7.0 и отметил все плагины и темы не зависимо от того активные или нет.
После сканирования плагин выдаст таблицу, где укажет уязвимости и проблемы.
- Помеченные зелёным — значит всё в порядке
- Желтым — есть опасность, но не точно
- Красным — почти с 100% вероятностью есть существенная ошибка.
Советую на время отключить желтые и красные, а те что не нужны удалить.
Но не всё так гладко, инструмент не даёт 100% результата, что–то он может пропустить, а что–то и зря забраковать. Но вебмастера пишут, что около 90-95% срабатываний правильные.
Создать резервную копию
С данным пунктом меня некоторые вебмастера могут посчитать за параноика, но лучше перед переходом сделать резервную копию базы данных и файлов. Рассмотрю на примере хостинга Beget (раздел создания резервных копий есть на любом хостинге), заходим в панель управления и находим раздел backup.
Откроется страница на ней выбираем url сайта, который будем переводить. Справа есть кнопка загрузки, нажимаем ее.
Откроется окно, в котором выбираем как скачать архив. Я выберу по прямой ссылке.
Начнется процесс, в среднем занимающий от 10 минут до 1 часа, ждите письма от Бегета на почту, к которой привязан аккаунт, в нем будет ссылка на загрузку архива.
Теперь скачаем базу данных по аналогии входим в раздел BackUp и выбираем раздел Базы данных, ищем соответствующую вашему сайту домен и скачиваем нажатием зелёной кнопки.
Подготовку закончили теперь рассмотрим как на разных системах изменить версию PHP.
Изменяем версию PHP на разных системах управления серверами
Далее разберем как изменить версию PHP для WordPress в панелях:
В панели Beget
Хостинг компания славится своей собственной продуманной и простой панелью управления сервером. Заходим в раздел «Сайты».
Напротив домена видим иконку с надписью PHP и версией, нажимаем на нее.
Далее откроется всплывающее окно, выбираем необходимую позицию, и нажимаем применить. Поздравляю вы сменили версию PHP для сайта WordPress.
Аналогичным методом работаем и на других хостинг провайдерах, имеющих собственную панель, таких как Timeweb и Reg.ru.
В системе CPanel
Заходим в CPanel на хостинге и находим раздел Программное обеспечение, и среди всех инструментов находим «Выбор версии PHP», заходим в него.
Далее перебросит на страницу с большим списком дополнений, если вы в них ничего не соображаете, то не ставьте галочки, они включают и отключают модули. Включив слишком много, сайт начнет тормозить. Открываем список версий, выбираем необходимую и жмем кнопку «Сделать текущей».
В панели ISPmanager
Стандартная панель ISPmaneger проста в использовании, но показать как ей пользоваться я обязан. Заходим в панели в раздел PHP, сразу откроется список имеющихся в базе хостинга последних вариантов. Выбираем понравившуюся, и нажимаем на галочку.
Если все прошло хорошо, то галочка станет зелёной, а ваш WordPress заработает на PHP 7 поколения.
На локальных серверах
Рассмотрим два варианта это на Denwer и Openserver. Точнее не совсем рассмотрим, а отговорим от использования одного из них.
Denwer
Обновление PHP на локальном сервере Denwer давно устарело. Денвер воспринимает максимум версию 5.6, потому что остальные модули программы не обновлялись и поставив, например, последнюю 7.1 локальный сайт просто перестанет работать.
И прошу вас не ищите в сети Denwer, который народные умельцы переделали, и он стал поддерживать всё что угодно. Вы должны понимать, что устанавливая программы такого рода, даете разрешение на управление вашим компьютером, что может привести к нежелательным последствиям. Используйте Openserver или XAMPP, они поддерживаются и обновляются регулярно настоящими разработчиками.
Openserver
Удобный локальный сервер Openserver, завоевал миллионы поклонников. Давайте разберемся как в его интерфейсе поменять на пследнюю версию PHP.
В трее должен быть запущен Openserver и гореть зеленым цветом. Нажимаем правой кнопкой мыши на значок программы и выбираем пункт Настройки.
Переходим во вкладку модули и открываем список в области PHP. Выбираем версию и нажимаем сохранить. Теперь локальные сайты будут работать по новой.
Для более наглядного представления процесса, прилагаю видеоинструкцию.
Страница выбора версии PHP для скачивания и последующей установки
В данном случае нас интересует версия PHP 5.6 и ее реализация для компьютеров с операционной системой Windows на борту, нажав на кнопку «Download Windows», вы перейдете на страницу, в которой сможете выбрать версию PHP, соответствующую версии вашей ОС и ее разрядности, смотрите скрин ниже.
Страница, на которой можно выбрать версию PHP, соответствующую версии ОС и ее разрядности для скачивания и последующей установки
Я буду скачивать PHP VC11 x64 Thread Safe, так как у меня 64 битная Windows 10. Отмечу: если вы счастливый обладатель Windows XP, то, скорее всего, вы не сможете установить PHP версий 5.5 или 5.6. Скачивать нужно zip архив с файлами PHP, ведь мы же не хотим заниматься еще и компиляцией PHP из исходных файлов.
Разница между Thread Safe и Non Thread Safe в PHP
Итак, когда мы скачивали PHP, то видели, что выбор версии PHP, которую необходимо скачать зависит не только от операционной системы и ее разрядности, но и от какого-то непонятного Thread Safe и Non Thread Safe. Давайте разберемся в чем разница между Thread Safe и Non Thread Safe в PHP. Хотя предыдущая фраза звучит не совсем корректно, так как Thread Safe скорее относится к операционной системе, нежели к языку PHP.
На самом деле – это исторический момент для языка PHP. С октября 2000 года, а именно тогда появился PHP 3.0.17, именно эта версия PHP стала работать на машинах под управлением операционных систем семейства Windows. Появилось разделение версий PHP на Thread Safe и Non Thread Safe. Раньше все версии PHP были Thread Safe.
А теперь о том в чем разница между этими версиями сборки PHP. Вся соль в том, что ОС Windows использует мульти-поточную архитектуру работы, а операционные системы семейства UNIX поддерживают мульти-процессовую архитектуру. Если вы выберете версию PHP, скомпилированную, как мульти-процессовое CGI-приложения, то у вас возникнет много проблем в работе ваших PHP приложений в том случае, если вы будете устанавливать PHP как модуль веб-сервера Apache или IIS.
Всё дело в том, что HTTP сервер в Windows, в частности веб-сервер Apache работает в несколько потоков и PHP, установленный как модуль сервера Apache, будет являться одним из его потоков. Следовательно, PHP для правильной работы с Apache, как его модуль, должен быть скомпилирован именно в режиме Thread Safe.
Немного полезной информации о PHP перед его установкой
Итак, мы не только определились с тем какую версию PHP скачать, но и посмотрели на разницу между версиями Thread Safe и Non Thread Safe. Для начала вспомним публикацию о том, что такое PHP, в которой мы говорили о возможностях данного интерпретируемого языка:
- С помощью PHP мы можем создавать различные веб-сайты и веб-приложения.
- PHP дает возможность писать скрипты командной строки.
- При помощи PHP мы можем создавать приложения с графическим интерфейсом.
Нас интересует больше всего первая функция данного языка программирования. Для этого нам потребуется:
- веб-сервер, который, кстати, с недавних пор встроен в PHP и подходит для целей изучения PHP и его возможностей, но никак не подойдет для реальных проектов;
- браузер, чтобы просматривать результаты наших трудов;
- СУБД или система управления базами данных, это может быть сервер MySQL, библиотека SQLite, СУБД PostgreSQL;
- и непосредственно интерпретатор PHP.
Кстати, вместо установки всех этих компонентов (за исключением браузера) по отдельности, вы можете использовать готовые сборки такие как Денвер или локальный веб-сервер AMPPS. Веб-сервер в данном случае нам нужен для того, чтобы реализовать архитектуру клиент-сервер, так как PHP в данном случае выступает как серверная технология.
Таким образом происходит деление функций на функции клиента и функции сервера. В данном случае происходит взаимодействие по протоколу HTTP, который относится к седьмому уровню семиуровневой модели сетевого взаимодействия OSI. Функции клиента выполняет браузер, который посылает запросы серверу. Сервер понимает, что и в каком виде от него хочет клиент по специальным HTTP заголовкам и методам HTTP протокола. Результаты своей работы сервер отправляет клиенту специальным HTTP сообщением, которое получило название ответ сервера. Ответы сервера снабжены так же заголовками, но еще у них есть особые коды состояния, по которым браузер видит, как его понял сервер и что еще нужно сделать, чтобы достичь желаемого результата.
Отметим, что перед тем, как начать обмениваться сообщениями, браузер и сервер устанавливают HTTP соединение, которое является постоянным. Также у сообщений есть тело или объект HTTP сообщения, который содержит полезную для человека информацию, обычно (но не всегда) в качестве объекта сообщения выступает HTML документ или его фрагмент, со структурой которого мы познакомились ранее.
Заметим, что этот процесс необязательно происходит локально в рамках одной машины, чаще всего такое общение между сервером (серверной технологией) и клиентом (браузером) происходит в сети Интернет, когда вы выбрали и купили хостинг, а также выбрали доменное имя сайта.
Ранее мы разобрались с тем, что PHP может работать как модуль сервера, а может быть собран и установлен как обработчик CGI или FastCGI, во втором случае ваш веб-сервер должен исполнять PHP скрипты как CGI-скрипты. Если вы хотите использовать PHP в командной строке вашей ОС, то вам понадобится PHP CLI. Это не входит в рамки данной публикации, поэтому подробно не будем останавливаться, лишь скажем, что в этом случае нам не потребуется ни браузер, ни веб-сервер.
PHP позволяет создавать приложения с графическим интерфейсом при помощи специального расширения PHP-GTK, тем самым вы сможете управлять окнами на вашем компьютере. Данный подход принципиально отличается от веб-разработки.
Краткая инструкция по установке PHP на Windows 10 без Apache на встроенный сервер
Мы разобрались с версиями PHP их особенностями и поговорили о принципах работы серверных технологий, также мы выбрали версию PHP, которую скачали. Самое время поговорить о том, как установить PHP 5.6 на Windows 10. Заметим, что устанавливать PHP мы будем без использования отдельного веб-сервера, так как начиная с PHP 5.4 в PHP есть свой собственный веб-сервер, который подходит для демонстрационных целей и изучения основ интерпретируемого языка PHP. В отдельной публикации мы поговорим про установку PHP как модуль сервера Apache 2.4. В этой же публикации мы установим PHP без Apache на Windows.
Надеемся, что вы уже скачали нужную вам версию PHP и мы можем начать установку. Установку PHP на Windows мы будем делать по шагам.
Шаг первый. Нам необходимо распаковать скаченный архив в любое удобное место на диске. В нашем случае это будет: c:PHP.
Шаг второй. Теперь нам нужно добавить путь к корневому каталогу PHP в переменную PATH. Мы уже подробно рассматривали добавления значения переменной PATH на Windows 7, когда говорили про установку библиотеки SQLite на Windows, а про добавления значения переменной PATH на Windows 10 мы говорили тогда, когда рассматривали установку SASS на Windows. В связи с этим здесь мы этот вопрос рассматривать не будем.
Шаг третий. На самом деле мы уже закончили установку PHP 5.6 на Windows 10. Но нам нужно убедиться в том, что установка была выполнена правильно и PHP, как и его встроенный сервер, работают. Для этого нам нужно открыть командную строку от имени администратора и написать несколько команд: cd c:php и php -S localhost:8000. Первая позволит нам перейти в папку, в которую мы установили PHP, вторая запускает веб-сервер встроенный в PHP. Дело всё в том, что веб-сервер, который встроен в PHP, будет считать корневым каталогом тот каталог, из которого вы его запустили.
Шаг четвертый. После запуска сервера, встроенного в PHP вы увидите следующее сообщение в командой строке: