« Service Apache HTTP a cessé de fonctionner » avec WP requête dans WordPress 2.9.2
Question
Quand mon script exécute la 4ème ligne ci-dessous dans WP 2.9.2, sa cause mon application Web pour lancer un « Apache HTTP service a cessé de fonctionner » erreur
$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')));
Est-ce que vous voyez quelque chose dans cette ligne 4 qui est incompatible avec WP 2.9.2? Le code fonctionne très bien sur le même serveur sous WP 3.0.4
Voici les détails de l'erreur:
Signature Problème: Problème Nom de l'événement: APPCRASH Nom de l'application: httpd.exe Version d'application: 2.2.14.0 Timestamp application: 4aeb9704 Module de défaut Nom: php5ts.dll Module de défaut Version: 5.3.1.0
La solution
L'exécution du code affiché des résultats dans un accident à l'intérieur du module PHP. Je suppose que vous utilisez PHP en tant que module intérieur apache sur les fenêtres, si les accidents du module, apache se bloque ainsi.
Assurez-vous que vous utilisez les bons modules PHP ici. Etes-vous sûr besoin de la variante de thread-safe de PHP pour apache? Ceux-ci sont signalés à pas stable sous Windows IIRC.
Alors cela pourrait ne pas être lié à la version, mais à la wordpress configuration du serveur.
Hope cette réponse aide un peu attaquer les choses.
Autres conseils
Réaliser ce vieux maintenant, mais cela peut aider les gens à trouver ce via Google:
J'ai eu des problèmes avec Apache qui meurent lors de l'exécution du code similaire au sein d'une fonction appelée par le pre_get_posts crochet . Le problème était que je manqué le conditionnel:
$query->is_main_query()
ce qui signifie qu'il a fait le travail pour toutes les requêtes, pas seulement le principal. Ajoutant que résolu le problème pour moi. L'utilisation I est conditionnelle complète (alors un autre code ci-dessus en dessous:
if ( ! is_category() || ! $query->is_main_query() || ! is_a( $query, 'WP_Query' ) )
return;