Вопрос или проблема
Итак, я сталкиваюсь с этой ужасной ошибкой “невозможно редактировать файлы php” после обновления до версии 4.9.1.
Я отключил все свои плагины, но все же получаю следующую ошибку через плагин Health Check:
Запрос обратной петли к вашему сайту занял слишком много времени для завершения, это может
помешать работе WP_Cron, а также редакторам тем и плагинов.
Замечательно знать это!
Потому что, видимо, это является причиной ошибки, которую я получаю, когда пытаюсь редактировать php файлы изнутри редактора WordPress, а именно:
Невозможно связаться с сайтом, чтобы проверить фатальные ошибки, поэтому
изменение PHP было отменено. Вам нужно будет загрузить изменения PHP-файлов
другим способом, например, с помощью SFTP.
Так где же я могу это исправить?
Если каждый плагин отключен, это должно быть проблемой с моей темой?
Я использую тему, которую создал с нуля, основанную на underscores.me.
Если я не использую вообще ни одного плагина, а мои запросы обратной петли все еще занимают слишком много времени, как я могу это исправить?
ИЗМЕНЕНИЕ: Чтобы было ясно, я могу редактировать .css файлы на моей текущей теме. И я могу редактировать любой файл на другой, неактивной теме. Я просто не могу редактировать php файлы моей текущей активной темы… что заставляет меня думать, что это связано с этой петлей обратных запросов.
ИЗМЕНЕНИЕ 2: Являются ли запросы обратной петли фактическими http-запросами, которые ищут копию моего сайта в интернете? Потому что, если это так, сайт в настоящее время не в сети. Может ли это быть причиной проблемы?
У меня не было проблем, пока я работал с моим локальным хостом. После загрузки я мог редактировать файлы css, но не файлы php. После множества исследований я выяснил, что источник проблемы – включение протокола HTTPS. Я изменил URL на обычный HTTP, и все было хорошо.
После некоторых исследований, наконец, включение расширения openssl в файле php.ini решило мою проблему.
Это сработало для меня:
Я изменил строку 492 в wp-admin/includes/file.php прямо сейчас:
ИЗ
if ( $is_active && 'php' === $extension ) {
НА
if ( $is_active && 'php' === $extension && false) {
И теперь я могу редактировать файлы темы моего скрытого сайта так же, как и до обновления до версии 4.9! Ура!
Ответ или решение
Проблема с длительным ожиданием loopback-запросов в WordPress может вызвать различные неприятности, такие как невозможность редактирования PHP файлов изнутри редактора платформы. Рассмотрим детально шаги для диагностики и решения этой проблемы.
Обзор проблемы
После обновления до версии 4.9.1 вы столкнулись с ошибкой при попытке редактирования PHP файлов в редакторе WordPress, сопровождаемой сообщением: "Не удалось связаться с сайтом для проверки фатальных ошибок, изменения были отменены". Это свидетельствует о проблемах с loopback-запросами, которые используются WordPress для проверки и выполнения различных задач, таких как WP_Cron.
Возможные причины и решения
-
Неисправности с HTTPS: Если сайт работает по HTTPS и у вас проблемы только с PHP файлами, проверьте конфигурацию OpenSSL в PHP. Убедитесь, что расширение openssl включено в вашем файле php.ini. Отсутствие поддержки HTTPS может вызывать проблемы с loopback-запросами.
-
Локальная среда разработки: Если на локальном сервере все работало, а на удаленном — нет, это может указывать на проблемы с конфигурацией веб-сервера. Убедитесь, что ваш сервер правильно настроен для обработки HTTPS и loopback-запросов.
-
Изменения в файлах ядра: В некоторых случаях, временное изменение ядра может помочь. Похожий случай был решен изменением условия в файле
wp-admin/includes/file.php
. Однако стоит помнить, что изменение ядра не рекомендуется на постоянной основе, и его следует использовать только как временное решение для диагностики проблемы. -
Тема WordPress: Поскольку у вас своя тема, созданная на основе underscores.me, проверьте, нет ли в ее коде элементов, которые могут блокировать или замедлять loopback-запросы.
-
Работа без интернета: Как вы упомянули, проблема возникла, когда сайт находился офлайн. Loopback-запросы зависят от работоспособности сайта, и если сервер доступен только локально, это может вызывать ошибки. Убедитесь, что ваш сайт доступен для публичных запросов, если это не добавляет рисков безопасности.
Заключение
Проблемы с loopback-запросами могут иметь множество причин, от конфигурации сервера до особенностей настройки темы. Чтобы точно определить и исправить источник проблемы, необходимо комплексное обследование всех элементов системы, начиная от хостинга и заканчивая индивидуальной настройкой темы. Каждая ситуация уникальна, поэтому советую применять индивидуальный подход, учитывая все особенности вашей установки WordPress.