«Служба HTTP Apache перестала работать» с WP Query в WordPress 2.9.2

Когда мой скрипт запускает 4-ю строчку ниже в WP 2.9.2, это приводит к тому, что мое веб-приложение бросает сообщение об ошибке «Ошибка Apache HTTP Service»

$cat=get_cat_ID('top-menu'); $catHidden=get_cat_ID('hidden'); $myqueryCurrent = new WP_Query(); $myqueryCurrent->query(array('cat'=>"$cat,-$catHidden",'post__not_in'=>get_option('sticky_posts'))); 

Вы видите что-то в этой 4-й строке, что несовместимо с WP 2.9.2? Код работает нормально на том же сервере под WP 3.0.4

Ниже приведены сведения об ошибке:

Подпись задачи: Проблема Название события: APPCRASH Имя приложения: httpd.exe Версия приложения: 2.2.14.0 Временная метка приложения: 4aeb9704 Имя модуля ошибки: php5ts.dll Ошибка модуля Версия: 5.3.1.0

Выполнение отправленного кода приводит к сбою внутри модуля PHP. Я предполагаю, что вы запускаете PHP в качестве модуля внутри apache на окнах, если модуль выходит из строя, апад Apache также падает.

Убедитесь, что вы используете правильные модули PHP здесь. Вы уверены, что вам нужен вариант Thread-Safe для PHP для apache? Сообщается, что они не работают стабильно под Windows IIRC.

Таким образом, это может быть не связано с версией wordpress, а с конфигурацией сервера.

Надеюсь, этот ответ поможет немного справиться с этим.

Реализуйте этот старый сейчас, но это может помочь людям найти это через Google:

У меня были проблемы с умиранием Apache при запуске аналогичного кода внутри функции, вызванной крюком pre_get_posts . Проблема в том, что я пропустил условное:

 $query->is_main_query() 

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

 if ( ! is_category() || ! $query->is_main_query() || ! is_a( $query, 'WP_Query' ) ) return;