Если вы читали новости о HHVM, вы знаете, что HHVM произвел настоящую революцию. Он позволяет значительно ускорить выполнение PHP. Вы можете добиться ускорения работы WordPress более чем в 2 раза по сравнению с PHP 5.6. Однако PHP – не единственный фактор, влияющий на скорость работы сайта. Вы можете использовать простой VPS за десять долларов с установленным кэшированием Nginx, и ваш сайт будет выдерживать миллионы хитов в день. С другой стороны, бывают ситуации, когда вы не сможете использовать такие методы.
Не забывайте о Woocommerce и приложениях, в которых нельзя кэшировать бэкэнд.
В то время как HHVM начал революцию, PHP ее быстро поддержал и развил. Сегодня PHP7 работает медленнее лишь на 10%, но он еще даже не выпущен официально. Я уверен, что разработчики PHP обязательно улучшат скорость его работы в последующих релизах.
Недостатком HHVM всегда была совместимость (не все плагины поддерживали HHVM) и некоторые баги, которые со временем были исправлены. В число таких багов входили утечки памяти (высокое потребление памяти), а также высокое использование процессорных ресурсов в некоторых ситуациях. Я слышал, что многие проблемы были решены в последней версии, и совместимость только улучшилась.
HHVM требует некоторых навыков для своей реализации. Далеко не каждая хостинг-панель (Vesta, Virtualmin, Zpanel и т.д.) применила его на практике. HHVM в основном использовался хостинг-компаниями и сайтами на выделенном VPS. Easyengine сделал возможным использование HHVM для простых пользователей. С другой стороны, супер популярный ServerPilot до сих пор не реализовал HHVM, однако при этом они включили поддержку PHP7 с похожим увеличением скорости.
Одно из главных преимуществ PHP 7 – это практически такая же скорость для WordPress и более простая реализация. Если вы хотите попробовать PHP7, вы можете воспользоваться релиз-кандидатом, который увидел свет не так давно.
Я буду использовать одно из лучших решений среди хостинг-панелей – ServerPilot. Я думаю, что пришла пора для разработчиков протестировать их плагины, особенно сейчас, когда доступны такие прекрасные и доступные ресурсы, как DigitalOcean (взимают почасовую оплату) и ServerPilot (бесплатный).
Совместимость WordPress плагинов с PHP7
Я узнал у друзей, какие плагины они хотели бы видеть совместимыми с PHP7 «из коробки», и составил список из бесплатных и платных плагинов, к которым у меня был доступ. Вот результат:
- Admin Word Count – Бесплатный
- AdRotate – Платный и бесплатный
- Akismet – Бесплатный
- Awesome Shortcodes For Genesis – Бесплатный
- Broken Link Checker – Бесплатный
- CloudFlare – Бесплатный
- Contact Form 7 – Бесплатный
- CSSHero – Платный
- Duplicator – Бесплатный и платный
- Easy Plugin for AdSense – Бесплатный и платный
- Easy Social Share Buttons for WordPress – Бесплатный
- Fanciest Author Box – Платный
- FEEDZY RSS Feeds by b*web – Бесплатный
- FFF Cron Manager – Бесплатный
- Genesis Custom Footer – Бесплатный
- Genesis Shortcodes – Бесплатный
- Genesis Simple Sidebars – Бесплатный
- Genesis Sandbox Featured Content Widget
- Google Analytics by Yoast – Бесплатный и платный
- Growmap Anti Spambot Plugin – Бесплатный
- Hide My WP – Платный
- Jetpack by WordPress.com – Бесплатный
- Kraken Image Optimizer – Плагин бесплатный, но сервис платный
- Leadin – Бесплатный
- Local Indicator – Бесплатный
- NextScripts – Платный и бесплатный
- Optimize Database after Deleting Revisions – Бесплатный
- OptinMonster – Платный
- Pretty Link – Платный и бесплатный
- Redirection – Бесплатный
- Remove XMLRPC Pingback Ping – Бесплатный
- Roost Web Push – Бесплатный плагин, но сервис платный
- RSS with Images – Бесплатный
- SEO Friendly Images – Бесплатный
- Shortcodes Ultimate – Бесплатный и платный
- Simple 301 Redirects – Бесплатный
- Theme Junkie Custom CSS – Бесплатный
- ThirstyAffiliates – Бесплатный и платный
- TinyMCE Advanced – Бесплатный
- UberMenu 3 – Платный
- Ultimate Nofollow – Бесплатный
- UpdraftPlus – Бесплатный и платный
- WordPress Related Posts – Бесплатный
- WP Pro Ad System – Платный
- WP Rich Snippets – Платный
- WP Rocket – Платный
- WP Shortcode by MyThemeShop – Бесплатный
- WP-Mail-SMTP – Бесплатный
- WP-Optimize – Бесплатный
- Yoast SEO – Бесплатный и платный
- Simple Social Icons – Бесплатный
Как только я активировал сайт со всеми этими плагинами на сервере с PHP7, я столкнулся с некоторыми проблемами. Меня приветствовал пустой экран с сообщением об ошибке, которое не давало сайту загрузиться:
Fatal error: ‘break’ not in the ‘loop’ or ‘switch’ context in /itsmdaily/public/wp-content/plugins/social-networks-auto-poster-facebook-twitter-g/inc-cl/fl.php on line 39
Warning: Declaration of tcm_management_table::prepare_items($search) should be compatible with WP_List_Table::prepare_items() in /itsmdaily/public/wp-content/plugins/thin-content-manager/thin-content-manager.php on line 39
Warning: Cannot modify header information – headers already sent by (output started at /itsmdaily/public/wp-content/plugins/thin-content-manager/thin-content-manager.php:39) in /itsmdaily/public/wp-includes/pluggable.php on line 1207
Спустя две минуты я получил четвертую ошибку на сайте:
Fatal error: Uncaught Error: Class ‘GS_Featured_Content’ not found in /itsmdaily/public/wp-includes/widgets.php:591 Stack trace: #0 /itsmdaily/public/wp-includes/widgets.php(720): WP_Widget_Factory->register(‘GS_Featured_Con…’)
PHP 7 и плагины
В данный момент три плагина из списка не работают с PHP7:
- NextScripts – Последнее обновление было 2 недели назад, но я слышал, что скоро будет выпущена версия 4
- Thin Content Manager – Последний раз обновлялся два года назад
- Genesis Featured Content – Последний раз обновлялся год назад
Как вы можете видеть, чем старше плагин, тем выше шанс, что он не будет работать с PHP7. Однако будьте осторожны, даже недавно обновленные плагины могут перестать работать, что показал случай с NextScripts. Обязательно протестируйте их перед тем, как переносить свой сайт на PHP7.
В целом же все будет в порядке. Возможно, один или два плагина перестанут работать. Я уверен, что плагины будут обновлены вскоре после официального выхода PHP7.
Один из плагинов из списка, который привлек мое внимание – это Simple Social Icons от StudioPress.
Автор плагина обновил его еще в начале августа, добавив к нему совместимость с PHP7. Возможно, это было сделано потому, что плагин действительно очень простой. Вот цитата из журнала изменений:
Если плагины работают и платформа WordPress совместима с PHP7, могу ли я запустить свой сайт на предрелизной версии? Хотелось бы, но…
К сожалению, NewRelic пока не доступен для PHP7. Это означает, что я не смогу выявить серьезные проблемы и даже проблемы, связанные с плагинами, находясь далеко от компьютера. Однако, как только NewRelic станет доступным для PHP7, я тут же перемещу свои сайты на PHP7-дроплет.
Что по поводу плагина X?
Стоит отметить, что и WordPress, и PHP имеют тенденцию повреждать плагины в последних релизах. К примеру, WordPress 4.3 нарушил работу плагина Front-end Editor (в бета-версии).
Если вы привыкли к нему, то, увы, такие вещи тоже случаются. Я помню еще те времена, когда плагин Max Banner PRO (платный) перестал работать с PHP 5.5.
Когда плагин перестал работать, у пользователей было два выхода из такой ситуации. Найти ему замену или использовать версию PHP младше, чем 5.5. Если вы используете плагин, который не работает с последней версией PHP, бесплатный или платный, самое лучшее, что вы можете сделать – это уведомить его автора об этом. Если вам улыбнется удача, автор плагина быстро добавит поддержку новой версии PHP.
Все это приводит нас к одному вопросу: «Как узнать, что плагин, который я использую, будет поддерживаться в будущем?»
Мне кажется, что лучший ответ на этот вопрос – использовать плагины, созданные компаниями с хорошей репутацией (Automattic, StudioPress, MyThemeShop, ElegantThemes и т.д.). Это верно и для платных плагинов, и для бесплатных.
В процессе поиска бесплатных плагинов в каталоге WordPress всегда обращайте внимание на время последнего обновления и количество установок/загрузок. Все это является хорошим индикатором «здоровья» плагина. Возможно, однажды WordPress удалит неподдерживаемые плагины из каталога.
Вы должны помнить, что плагины, лишенные поддержки разработчиков, могут иметь уязвимости и открывают пути для взлома вашего сайта.
Вторая проблема, с которой вы можете столкнуться в результате того, что вы используете устаревший плагин – это приведение всех вещей в порядок. Представьте себе, что вы используете плагин для шорткодов. Вы вставили прекрасные объекты в свои записи. У вас примерно 1000 записей. Плагин перестал работать. Вы должны найти замену ему.
И, что самое интересное, вы теперь должны заменить 1000 шорткодов…
Релиз PHP7 должен быть выпущен в середине октября 2015.
Источник: http://www.itsmdaily.com
WordPress Related Posts — у меня выдает ошибку, но работает. Надеюсь обновят плагин и будет все улажено под php7, а то не хочется откатываться на 5.5
Привет !
А насколько увеличилось скорость сайта в целом ?
Почувствовали разницу в скорости после перехода на php 7.2 ?
Хочу понять, стоит ли обновлять версию php na 7.2 ?
Приветствую! Пока не обновляли. Скорость должна, скорее всего, вырасти, если хостинг поддерживает версию.