Ошибка 500 при обновлении php

Ошибка 500 при смене версии php

Доброго вечера всем! Решил тут обновить немного версию пхп на хостинге, была 5.2, решил 5.4 поставить. Заменил, перезагружаю страницу — ошибка 500 и белый экран. Стал гугулить, пишут, что такое бывает и советуют попробовать удалить/переименовать .htaccess Я переименовал и действительно заработало. Но мне такой вариант не годится, мне нужен .htaccess, там всякие переадресации и чпу настроены, без него полсайта не работает. А как же быть тогда? Возвращаться на 5.2?

По-видимому, корень проблемы — как раз в той неработающей половине. Ищите и заменяйте устаревшие функции и элементы синтаксиса пхп.

nikonlay:
Доброго вечера всем!

Решил тут обновить немного версию пхп на хостинге, была 5.2, решил 5.4 поставить. Заменил, перезагружаю страницу — ошибка 500 и белый экран. Стал гугулить, пишут, что такое бывает и советуют попробовать удалить/переименовать .htaccess
Я переименовал и действительно заработало.
Но мне такой вариант не годится, мне нужен .htaccess, там всякие переадресации и чпу настроены, без него полсайта не работает.

А как же быть тогда? Возвращаться на 5.2?

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft

nikonlay:
Стал гугулить, пишут, что такое бывает и советуют попробовать удалить/переименовать .htaccess
Я переименовал и действительно заработало.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.

Более оптимально обновлять до PHP 5.6, если проект не поддерживает 7.0 Смотрите логи, там будет запись о том правиле которое мешает. Найти это 2-3 минуты. Но настраивать все нужно хотя бы на 5.6. Сразу так же ставьте и включайте opcache — дает хороший прирост в производительности.

NVMe VDS (https://well-web.net/nvme-vps) с поддержкой 24/7 — от 545 руб.! Безлимитный хостинг (https://well-web.net/ssd-hosting) — от 129 руб.! Домен в подарок! Перенос бесплатно! Заказывайте сейчас, и получите скидку 50%! Заходи! (https://well-web.net/limited-offers)

vovka83, так оно, я вроде как в этом и разбираюсь. просто когда один человек занимается одновременно разработкой/доработками сайта, в том чсиле дизайном, также seo, serm, ведение групп в соцсетях, таргет, контекстной рекламой, офлайн рекламой (флаеры, визитки, плакаты — все, создание макета, подготовка к печати, связь с типографией) и т.д. и т.п., то не всегда в каждой из этих областей прям сразу успеваешь подстроиться под обновления. Sitealert, ок, буду искать. edogs, настройки пхп — это вот это вы имеете в виду? php_flag display_errors off php_flag rewriteLogLevel 0 php_value allow_url_fopen on php_value open_basedir /dir/incl/ yet_warm, да просто в blabla.txt то есть для апача с пхп htaccess как бы перестал существовать SeVlad, adel92 — спасибо за дельные советы. действительно, если уж решил обновлять и вышла ошибка, то лучше уж сразу до 5.6 или 7.0 (оффтоп — а 6-ку они перепрыгнули чтоли?) обновиться и под него уже исправлять ошибки. Так и сделаю тогда, попробую сначала 5.6, потом 7.0 и буду смотреть, что в логах пишут

Читайте также:  Javascript ветвления и циклы

edogs, настройки пхп — это вот это вы имеете в виду?
php_flag display_errors off
php_flag rewriteLogLevel 0
php_value allow_url_fopen on
php_value open_basedir /dir/incl/

Да. Это. Почти готовы поставить пять копеек, что причина в rewriteLogLevel . Это вообще говоря апачевская директория, а никак не пхпшная. Но попробуйте для начала вырезать все эти строки, если заведется — поочередно вырезая найдете проблему.

Источник

Ошибка 500 при обновлении до PHP 8

Ошибка 500 при обновлении до PHP 8

В ноябре прошлого года pHP 8 приземлен. Я объявил о некоторых улучшениях производительности, скорости и безопасности.

Как любой хороший мастер, я решил обновиться с 7.4, а именно с 7.4.16, версии, которая сейчас работает на сервере.

плоф! Меня встречает красивая 500 ошибка и ломает весь сайт. Ни один URL не разрешается.

Я сделал типичное испытание чтобы отключить все плагины и использовать шаблон по умолчанию. Ошибка 500 не исчезает.

Я был шокирован, но я прошел мимо этого вопроса, будучи убежденным, что еще слишком рано обновляться, и, как они посоветовали, лучше всего подождать, пока все авторы плагинов и шаблонов обновят свой код, чтобы сделать его совместимым с PHP 8

Почти семь месяцев спустя я попробовал снова, и ошибка 500 все еще была там.

Первая подсказка о том, что ошибка возникает только в этом блоге, заключается в том, что в двух других установках WordPress, которые я имею на том же сервере, все работает правильно.

Поскольку ошибка 500 может появиться по многим причинам. Следующим логическим шагом будет просмотр журналов ошибок, чтобы попытаться выяснить, в чем дело. Появляется ряд предупреждений, подобных этому:

Предупреждение PHP: Использование неопределенной константы minor — предполагается ‘minor’ (это приведет к ошибке в будущей версии PHP) в /home/xxxxxx/public_html/blog/wp-config.php на строке 11

PHP Предупреждение: Использование неопределенной константы minor — предполагается ‘minor’ (это приведет к ошибке в будущей версии PHP).

То есть, константа должна быть заключена в кавычки. Я захожу в wp-config.php и действительно, в этой строке появляется minor без кавычек

define (‘WP_AUTO_UPDATE_CORE’, minor);

Поискав на форуме WordPress, я обнаружил, что многие люди сталкивались с такой же проблемой при переходе на более старые версии PHP из-за конфликтов с плагином или шаблоном.

Читайте также:  React redux typescript tutorial

Также нельзя исключить, что проблема связана с установкой WordPress, что у меня что-то сломалось, как мне сказали в тикете, который я отправил в LucusHost.

В некоторых ответах, которые они получают, говорится, что для устранения проблемы просто добавьте кавычки к ‘minor’, так что попробуйте это и все — у меня получилось!

define (‘WP_AUTO_UPDATE_CORE’, ‘minor’);

WP_AUTO_UPDATE_CORE позволяет Вам контролировать обновления ядра WordPress для минорных, основных и версий разработки. Эта константа может быть определена несколькими способами. Удаление этой строки не является хорошей идеей.

#Отключает все обновления ядра:

define( ‘WP_AUTO_UPDATE_CORE’, false );

# Включите все обновления, включая незначительные и значительные обновления:

define( ‘WP_AUTO_UPDATE_CORE’, true );

# Включает незначительные обновления:

define( ‘WP_AUTO_UPDATE_CORE’, ‘minor’ );

Хорошие и плохие новости.

Хорошей новостью является то, что теперь, при использовании PHP 8, ошибка 500 исчезла.

На первый взгляд все работает нормально, как плагины, так и посты.

Плохая новость заключается в том, что индекс сломан и выглядит следующим образом.

Ошибка 500 при обновлении до PHP 8

Я решил сначала атаковать шаблон сообщениялиния, изготовленная с Elementor Proв случае, если строитель оставил какой-то скрытый мусор, но после того, как я просмотрел его и полностью переделал, я исключил, что ошибка пришла оттуда.

Сейчас я все еще экспулирую шаблон (GeneratePress Premium) в тестовой среде и, по крайней мере, я знаю, где он ломается, но в основном я ищу в WordPress, где, как мне кажется, и кроется суть дела, какой-то несвежий код, протащенный внутрь, какой-то фильтр, забитый жиром или что-то еще.

Я оставляю здесь эту заметку на случай, если кто-то сталкивался с подобной проблемой и ему поможет то, что здесь написано, или то, что он знает о WP и может дать мне еще несколько подсказок для ее решения.

Как только я найду окончательное исправление и возможное объяснение, я обновлю это сообщение.

Обновление

Журнал ошибок, после активации DEBUG, дает подсказки, что GeneratePress где-то падает, возможно, из-за какого-то хука или фильтра, который я поместил в его модуль Elements (или что-то еще)

Поскольку у меня есть дочерний шаблон GeneratePress, я потерян и не знаю, куда двигаться дальше, но поскольку у меня есть пара подозрений, я не считаю миссию проваленной.

Фатальная ошибка: Uncaught TypeError: Unsupported operand types: string + int in /home/ public_html/blog/wp-content/themes/generatepress/inc/structure/post-meta.php:169 Stack trace: #0

/home/ public_html/blog/wp-content/themes/generatepress/inc/structure/post-meta.php(419): generate_do_post_meta_item() #1

/home/ public_html/blog/wp-content/themes/generatepress/inc/structure/post-meta.php(538): generate_posted_on() #2

/home/ public_html/blog/wp-includes/class-wp-hook.php(292): generate_post_meta() #3

/home/ public_html/blog/wp-includes/class-wp-hook.php(316): WP_Hook->apply_filters() #4

/blog/wp-includes/plugin.php(484): WP_Hook->do_action() #5

/blog/wp-content/themes/generatepress/content.php(48): do_action() #6

/blog/wp-includes/template.php(732): require(‘/home/ …’) #7

/blog/wp-includes/template.php(676): load_template() #8

/blog/wp-includes/general-template.php(204): locate_template() #9

/blog/wp-content/themes/generatepress/inc/theme-functions.php(587): get_template_part() #10

/blog/wp-content/themes/generatepress/index.php(37): generate_do_template_part() #11

/blog/wp-includes/template-loader.php(106): include(‘/home/ …’) #12

Читайте также:  Java код utf 8 в символ

/blog/wp-blog-header.php(19): require_once(‘/home/ …’) #13

/blog/index.php(17): require(‘/home/ …’) #14

брошен в /blog/wp-content/themes/generatepress/inc/structure/post-meta.php на линии 169

исправлено! Ну, почти

К счастью, первая строка была ключевой, именно там были вызваны все ошибки в этом длинном списке:

Фатальная ошибка: Uncaught TypeError: Unsupported operand types: string + int in /home/ public_html/blog/wp-content/themes/generatepress/inc/structure/post-meta.php:169

Ошибка 500 при обновлении до PHP 8

Тайна ошибки заключалась в какой-то неподдерживаемой операции проклятого get_the_time

Связывая все это воедино, подозрения подтверждаются. Ошибка была вызвана этим фрагментом функции, который я использовал для отображения дня и времени обновления в качестве расширения мета даты.

В довершение всего, я не знаю как, но он остался резидентным после отключения Сниппеты кода и очистить кэш.

Ошибка 500 при обновлении до PHP 8

Мораль истории такова: не используйте функции, которые хорошо работают у других, потому что каждая страница имеет свою собственную историю, и очень вероятно, что они могут испортить что-то, если Вы забудете их, обновите WP, PHP, шаблон или плагин, и они перестанут быть совместимыми.

После удаления этого фрагмента все работает нормально, и домашняя страница снова появляется в целости и сохранности.

Нет двух без трех — еще одна ошибка. Теперь Feedzy

Но не уходите пока, потому что теперь плагин Feedzy (я полагаю) или что-то связанное с этим нарушает страницу новостей.

Ошибка 500 при обновлении до PHP 8

Я должен открыть тикет в службу поддержки, поскольку это платная версия, чтобы сообщить разработчикам плагина, совместим ли он на 100% с PHP 8 (и если он ломается, потому что это не так) или получить от них подсказку.

02/07/2021 — Feedly воспроизвел фатальную ошибку с использованием PHP 8 и передал проблему своим разработчикам, теперь нам остается ждать, когда они выпустят новую версию плагина, которая исправит проблему.

05/07/2021-Описание ошибки находится здесь вы можете найти на их Github.

06/07/2021 — Хотя они еще не ответили или не выпустили новую версию с исправлением, в этом коммите они уже строки кода, которые исправляют это. Я протестировал это и, в отсутствие хорошего и тщательного тестирования, кажется, что PHP 8 больше ничего не ломает.

Подводя итог

Неплохо. От ошибки 500, которая ломала весь блог, до ошибки только на главной странице и, наконец, на одной«второстепенной» странице, и, в конце концов, поиска исправления — этого достаточно, чтобы быть удовлетворенным часами, вложенными в ремонт.

Ключ ко всему — в исследовании, потратьте все свое время на поиск причины и того, что она вызывает в других частях Вашего блога. Не бросайтесь пробовать быстрые решения без достаточных подсказок, потому что Вы либо потратите время впустую, либо, в плохом смысле, сломаете что-то еще.

Я обновлюсь снова, когда мне удастся победить новый баг с помощью Feedzy или что это за хрень на этот раз.

Источник

Оцените статью