Как обновить версию PHP для сайта на WordPress
Подготовка:
Для обновления версии PHP необходимо сделать несколько подготовительных этапов:
- Обновите WordPress до последней версии;
- Обновите все установленные плагины;
- Скачайте плагин PHP Compatibility Checker;
- Проверьте с помощью плагина PHP Compatibility Checker совместимость ваших плагинов с новой версией PHP. Для этого переходим в PHP Compatibility.
Плагин PHP Compatibility
Выбираем версию PHP, которую хотим поставить. Я рекомендую ставить максимально новую. И выбираем, что нужно сканировать, только активные плагины и темы.
Интерфейс PHP Compatibility
После проверки мы получаем отчет, в котором видим какие плагины и темы прошли проверку, а какие нет. Если все зелененькое, то смело приступаем к обновлению версии PHP на хостинге. А если возникли проблемы у некоторых плагинов, то нужно удалить эти плагины, если они не так Важны для вашего проекта. Или устранить проблемы вручную. Что нужно исправить будет написано в информации об ошибке, к каждому плагину.
отчет в плагине PHP Compatibility
Обновление PHP на хостинге.
Заходим на сайт хостинг-провайдера, у меня это REG.RU. И переходим в панель управление хостингом.
Как попасть в панель управление хостингом REG.RU
Выбираем пункт меню www-домены.
Выбираем пункт меню www-домены
Кликаем два раза на домене, на котором хотим поменять версию PHP.
выбор домена
Выбираем нужную версию PHP (совместимость которой проверяли с помощью PHP Compatibility Checker) и нажимаем кнопку ОК.
Обновление версии PHP на хостинге REG.RU
Все версия PHP поменялась и теперь нужно проверить пропала ли ошибка в инструменте «Здоровье сайта». А также проверить работоспособность сайта и всех плагинов.
Решение
В общем, если вы не знаете, как что-то работает, ищите пример, из которого вы можете извлечь уроки.
Для этой проблемы рассмотрим это ДЕМО
Вы можете видеть, что загрузка контента с помощью AJAX очень легко осуществляется с помощью jQuery:
Попытайтесь понять, как это работает, а затем попробуйте воспроизвести его. Удачи.
Вы можете найти соответствующий учебник ВОТ
Обновить
Прямо сейчас следующее событие запускает ajax функция:
Вы также можете делать это периодически: Как периодически запускать AJAX-запрос?
Я сделал демонстрацию этой реализации для вас ВОТ. В этой демонстрации каждые 2 секунды () контент обновляется.
Вы также можете сразу загрузить данные:
У которого есть ЭТОТ соответствующее демо.
23
Другие решения
Я думаю, что вы хотели бы узнать во-первых, попробуйте это: Ajax Tutorial
Если вы хотите знать, как работает ajax, это не очень хороший способ использовать jQuery напрямую. Я поддерживаю, чтобы узнать родной способ отправки ajax-запроса на сервер, увидеть что-то о :
1
Предположим, вы хотите отобразить некоторые содержание в прямом эфире (сказать livefeed.txt) на вашей веб-странице без обновления страницы, то следующее упрощенный пример для вас.
В ниже HTML-файл, живые данные обновляется на ДИВ элемент идентификатора «LiveData»
index.html
Ниже autoUpdate.js читает живые данные, используя XMLHttpRequest объект и обновляет HTML Div элемент на каждую 1 секунду. Я дал комментарии к большей части кода для лучшего понимания.
autoUpdate.js
Для тестирования: просто напишите что-нибудь в livefeed.txt — вы получите то же самое в index.html без каких-либо обновлений.
livefeed.txt
Замечания: Вам нужно запустить приведенный выше код на веб сервер (Например: HTTP: // локальный: 1234 / index.html) не в виде клиентского html-файла (например, file: /// C: /index.html).
Пример обновления содержимого страницы без перезагрузки
Прежде всего, нам нужен блочный элемент. Пусть это будет <div>, создадим его на странице и присвоим ему уникальный идентификатор, по которому его узнает jQuery.
<div id="block"> <p>Hello World</p> </div>
Важно понимать, что идентификатор должен быть уникальным на всей странице, поэтому вызовом $(‘#block’) мы получим первый элемент на странице с таким id. Если нужно изменить содержимое нескольких элементов, стоит использовать классы
<div class="block"> <p>Hello World</p> </div> <table> <tr> <td class="block"> <p>Hello World</p> </td> </tr> </table> <span class="block"> <p>Hello World</p> </span>
Пусть в качестве кнопки выступает обычная ссылка <a>, с заглушкой href=#. В обычных условиях, заглушка вернет пользователя на верх веб-страницы. На ссылку повесим событие onclick, в котором вызовем js функцию setNewEntry(), которая, например, получит новое содержимое для нашего блочного элемента.
<a onclick="setNewEntry('Pressed button 1'); return false;" href="#">Button 1</a><br> <a onclick="setNewEntry('Pressed button 2'); return false;" href="#">Button 2</a><br> <a onclick="setNewEntry('Pressed button 3'); return false;" href="#">Button 3</a><br> <a onclick="setNewEntry(''); return false;" href="#">Clear block</a><br>
return false; после вызова нужен для того, чтобы отменить переход по url из href, в нашем случае мы не вернемся вверх страницы, а останемся на месте.
Теперь рассмотрим саму функцию на JS, менять содержимое блока будем с помощью метода .html(). Если использовать его без аргументов, то он вернет нам текущее содержимое блока, если передать ему один аргумент, например строку, то он заменить содержимое блока на нее. В более приближенных к реальности случаях, методу передается функция, которая отрабатывает для блока и возвращает ему новое содержимое. Но пока мы ограничимся передачей строки.
<script type="text/javascript"> function setNewEntry(entry) { //#block - найти элемент по индентификатору //.block - найти по имени класса $('#block').html(entry); } </script>
Вот как будет выглядеть код веб-странички.
<html> <head> <title>js .html demo</title> <!-- Не забываем подключить библиотеку --> <script type="text/javascript" src="/js/jquery-3.1.1.min.js"></script> </head> <body> <div id="block"> <p>Hello World</p> </div> <br> <a onclick="setNewEntry('Pressed button 1'); return false;" href="#">Button 1</a><br> <a onclick="setNewEntry('Pressed button 2'); return false;" href="#">Button 2</a><br> <a onclick="setNewEntry('Pressed button 3'); return false;" href="#">Button 3</a><br> <a onclick="setNewEntry(''); return false;" href="#">Clear block</a><br> <script type="text/javascript"> function setNewEntry(entry) { //#block - найти элемент по индентификатору //.block - найти по имени класса $('#block').html(entry); } </script> </body> </html>
Использование функции PHP header() для редиректа URL-адреса
Если хотите добавить редирект с initial.php на final.php, можно поместить на веб-странице initial.php следующий код. Он отправляет в браузер новый заголовок location:
<?php $new_url = 'https://example.com/final.php'; header('Location: '.$new_url); ?>
Здесь мы используем PHP-функцию header(), чтобы создать редирект. Нужно поместить этот код перед любым HTML или текстом. Иначе вы получите сообщение об ошибке, связанной с тем, что заголовок уже отправлен. Также можно использовать буферизацию вывода, чтобы не допустить этой ошибки отправки заголовков. В следующем примере данный способ перенаправления PHP показан в действии:
<?php ob_start(); $new_url = 'https://example.com/final.php'; header('Location: '.$new_url); ob_end_flush(); ?>
Чтобы выполнить переадресацию с помощью функции header(), функция ob_start() должна быть первой в PHP-скрипте. Благодаря этому не будут возникать ошибки заголовков.
В качестве дополнительной меры можно добавить die() или exit() сразу после редиректа заголовка, чтобы остальной код веб-страницы не выполнялся. В отдельных случаях поисковые роботы или браузеры могут не обращать внимания на указание в заголовке Location. Что таит в себе потенциальные угрозы для безопасности сайта:
<?php $new_url = 'https://example.com/final.php'; header('Location: '.$new_url); exit(); ?>
Чтобы прояснить ситуацию: die() или exit() не имеют отношения к редиректам. Они используются для предотвращения выполнения остальной части кода на веб-странице.
При PHP перенаправлении на страницу рекомендуется использовать абсолютные URL-адреса при указании значения заголовка Location. Но относительные URL-адреса тоже будут работать. Также можно использовать эту функцию для перенаправления пользователей на внешние сайты или веб-страницы.
Для чего нужно обновлять версию PHP?
На новой версии WordPress появился инструмент «Здоровье сайта». Он анализирует сайт и дает рекомендации по его улучшению. Один из пунктов — это проверка версии PHP и инструмент рекомендует версию 7.3 или выше.
Какие преимущества у новых версий PHP:
- Сайт будет работать быстрее. Последние версии PHP увеличили скорость работы в 3-4 раза по сравнению со старыми версиями. Так как сайт будет работать быстрее, посетителям Вашего сайта будет комфортней находиться на нем и увеличатся показатели поведенческих факторов. А также скорость работы сайта, положительно влияет на продвижение в поисковой выдаче.
- Сайт станет более защищен. С каждым обновлением версии языка PHP в нем устраняются все обнаруженные дыры в безопасности. И дополнительно разрабатываются меры по защите от взлома и внешнего воздействия.
Использование метатегов HTML для редиректа
Также можно использовать базовый HTML для выполнения редиректа. Это может показаться непрофессиональным, но это работает. И не нужно беспокоиться о том, что в браузере отключен JavaScript или ранее была отправлена ошибка заголовков:
<meta http-equiv="Location" content="http://example.com/final.php"> <!-- The following line will redirect after the given number of seconds. Zero in our case. --> <meta http-equiv="refresh" content="0;url=http://example.com/final.php">
Также можно использовать последнюю строку из предыдущего примера, чтобы автоматически обновлять страницу каждые «n» секунд. Например, следующий код будет автоматически обновлять страницу каждые 8 секунд:
<meta http-equiv="refresh" content="8">
Последние версии PHP увеличили скорость работы в 3-4 раза по сравнению со старыми версиями.
Да ладно вам