Я глубоко сбит с толку этим: у меня установлена WordPress на Media Temple GS (одна из многих, которые работают нормально и настроены почти одинаково), что иногда дает мне 404-е годы. Когда это происходит, я получаю 3 ошибки вместе в моем журнале ошибок PHP:
[01-Nov-2013 22:20:50 UTC] PHP Notice: Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 275
[01-Nov-2013 22:20:50 UTC] PHP Notice: Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 209
[01-Nov-2013 22:20:50 UTC] PHP Notice: Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 29
Первые два относятся к $post
объекту и третий к этому: get_post()->ID;
что я думаю, это создание $post
объекта.
У меня есть два из этих идентичных трио сообщений об ошибках почти с 25-минутным интервалом [выключено на 2 с].
Я пробовал поддержку MT, но они думают, что это ошибка WP. Я использую последнюю версию WP, но у меня возникла эта проблема с более ранними версиями.
У меня было включено 2 плагина: W3 Total Cache и AJAX Thumbnail Rebuild
Я протестировал с и без плагина кеша, и проблема остается. Я просто отключил плагин для миниатюр, чтобы понять, имеет ли это какое-то значение.
Пожалуйста, помогите это сводит меня с ума! [и я хотел публично запустить этот сайт сегодня]
РЕДАКТИРОВАТЬ
Я должен был также упомянуть, что я видел эту ошибку на некоторых, но не на всех других установках WordPress на этом сервере. Я думаю, но не могу быть уверен на 100%, что те, которые показывают ошибки, являются более новыми установками, чем те, которые работают нормально. Хотя все установки полностью обновлены.
EDIT2
Я просто работаю над другим проектом WP и понял, по крайней мере, что означают эти 3 ошибки. Я могу воспроизвести именно эти три ошибки php, перейдя на страницу индекса с пользовательским типом записи, который не существует. Однако это не объясняет, почему это вызвало 404 в этом вопросе, тем более, что это происходит не только на пользовательских индексных страницах типов записей. Однако я думаю, что это должно быть как-то связано с пользовательскими типами постов.
Ответы:
Существует два типа ошибок 404: сгенерированные WordPress и сгенерированные сервером.
В некоторых серверных средах сервер 404 может отображаться неточно в случае перегрузки ЦП или из-за определенных случаев неправильной конфигурации и т. Д. Обычно сгенерированные сервером ошибки 404 будут отображать что-то вроде «Nginx» или «Apache» в нижней части окна. страница (зависит от типа сервера).
В других ситуациях «ложноположительные» ошибки 404 могут генерироваться WordPress (PHP), потому что плагины безопасности блокируют доступ к загруженным ресурсам:
Почему я иногда получаю сообщение об ошибке 404 при попытке обновить страницу с помощью Elementor?
https://wordpress.org/support/topic/getting-false-positive-404-errors-with-newest-update/
Попробуйте отключить все плагины безопасности, очистить кеши и обновить страницу. Модули безопасности, такие как ModSecurity, установленные на вашем сервере, также могут быть причиной.
Это также может быть вызвано плохо закодированной темой или плагином. Проверьте, установлена ли общая тема или плагин на всех задействованных сайтах. И если эта проблема возникает только на хостинге Media Temple, возможно, они что-то неправильно настроили или даже ваш сервер слишком загружен ...
источник
У вас недостаточно информации для решения вашей проблемы. Попробуйте добавить полную трассировку стека и запросить информацию в своем журнале ошибок, чтобы исследовать проблему.
Вы можете создать свой собственный обработчик ошибок, чтобы добавить трассировку стека и запросить информацию в журнал ошибок.
Вы можете проверить, работает ли это, добавив trigger_error где-нибудь в вашем коде, например, в
single.php
файле.Ваш журнал ошибок должен выводить что-то вроде этого:
С такого рода сообщениями будет гораздо легче выяснить, в чем проблема.
источник