web-dev-qa-db-fra.com

Dépannage d'un site réseau affichant une page vierge

J'ai une installation Wordpress en mode réseau, avec des sous-domaines.

sitex.example.com affiche une page blanche, sans rien dans le code source.

Les autres sites du réseau affichent bien.

J'ai renommé le thème utilisé par le site, mais il n'a pas répondu à Twenty Twelve.

Un vérificateur de réponse du serveur a montré que le site produisait un code de 200 réponses.

Je suis allé dans Network Admin et j'ai renommé sitex en sitey, mais sitey.example.com a également produit une page vierge.

J'ai vérifié .htaccess, et il contient le code suivant:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]

Je suis allé dans mon hébergement cPanel et j'ai confirmé que j'avais toujours mon sous-domaine générique et que je n'avais pas de sous-domaine manuel pour sitex dans cPanel.

Je suis retourné dans Admin Réseau, j'ai modifié les paramètres du site et défini Modèle et feuille de style sur vingt-douze, mais cela ne faisait aucune différence.

Je suis perdu.

Je ne sais pas quoi d'autre pourrait causer cela.

Le faites vous?

METTRE À JOUR

Si j'active le débogage, je reçois les informations suivantes:

Avertissement: include (/.../ wp-content/advanced-cache.php) [function.include]: échec de l’ouverture du flux: fichier ou répertoire de ce type dans /wp-settings.php à la ligne 65

Avertissement: include () [function.include]: Échec d'ouverture du fichier '/.../wp-content/advanced-cache.php' pour l'inclusion (include_path = '.:/Usr/lib/php:/usr/local/lib/php ') dans /wp-settings.php à la ligne 65

Remarque: wpdb :: escape est obsolète depuis la version 3.6! Utilisez wpdb :: prepare () ou esc_sql () à la place. dans /.../wp-includes/functions.php à la ligne 2913

Avertissement: session_start () [function.session-start]: impossible d'envoyer le limiteur de cache de session - en-têtes déjà envoyés (la sortie a commencé à /.../wp-settings.php:65) dans /.../wp-content/plugins /nivo-slider/nivo-slider.php à la ligne 10

5
Steve

Je réseau désactivé un tas de plugins. Ces plugins étaient en cours d'exécution sur le site du problème. Après cela, le problème a disparu.

0
Steve

Le .htaccess ne dispose pas des informations nécessaires à la mise en cache. Effacez donc le cache, le réseau désactive votre plugin de mise en cache ainsi que le plugin nivo slider. Si présent, supprimez également le paramètre permettant d'activer la mise en cache dans wp-config.

Est-ce que /wp-admin.php se charge pour ce blog à ce stade?

Sinon, utilisez phpmyadmin dans wp_blogid_options pour voir ce qui est chargé. Vous pouvez effacer ces options et voir si le blog se charge.

3
LPH

Désactivez le plug-in Nivo Slider pour confirmer qu'il s'agit de la source de l'erreur session_start. Cela provoquerait certainement une page blanche. Je regarde le source du plugin et il n'y a pas de fonction session_start, donc c'est un peu étrange. Votre plugin est-il à jour?

Comme l’erreur dit "en-têtes déjà envoyés (la sortie a commencé à /.../wp-settings.php:65)". Cela me porte à croire qu’une instance en cache de session_start est à l’origine d’un conflit. Espérons que la résolution du problème avec le démarrage de la session vous permettra de continuer à utiliser le cache si cela fonctionne correctement.

Début de session

La fonction session_start must doit être exécutée avant tout autre code. Plus précisément, il doit être exécuté avant que DOCTYPE et d'autres informations d'en-tête ne soient servis. Le seul moyen que je connaisse d'exécuter session_start via WordPress est de se connecter à init (ou admin_init si votre plug-in s'exécute dans le CP administrateur).
add_action('init', 'your_session_starting_function');

Un autre plugin utilisant le hook init pourrait provoquer un conflit s’il est exécuté avant le début de votre session.

Dépannage des erreurs de cache

Vérifiez votre fichier wp-config.php et, s’il existe, désactivez ou supprimez la ligne define( 'WP_CACHE', true );. Ne vous contentez pas de le définir sur false.

Si vous utilisez un plugin de cache tel que wp-cache, veillez à désactiver le cache. Si vous utilisez un plugin minify, désactivez la minification.

2
iyrin