[Doc] Erreurs fréquentes & Divers problèmes

Découvrez ici une liste de documents concernant phpBB: son installation, sa mise à jour et enfin son utilisation.
En bref, apprenez ici à vous servir de phpBB2!

Modérateur: Equipe

Règles du forum
A lire impérativement sur notre page : Règlement

[Doc] Erreurs fréquentes & Divers problèmes

Messagepar ZoliveR » 24 Mai 2003 à 17:41

» Erreurs fréquentes & Divers problèmes

» Table des Matières:
    A. Enregistrement / Edition de profil qui redirige vers l'index
    B. La table sessions est pleine
    C. Difficultés de connexion sous un forum hébergé par Lycos
    D. Problèmes avec les thèmes
    E. Erreur 500 - erreur interne du serveur - internal server error - The server has made a boo boo
    F. Fatal error : Forbidden port in smtp.php in line 126
    G. Warning: Failed opening './includes/functions_selects.php' for inclusion (include_path='.;xxxxx') in chemin d'install\phpbb\install.php on line 28
Tout d'abord, si ces solutions ne résolvent pas vos erreurs, veuillez poster votre problème dans le forum Support & Utilisation. Il se peut que votre erreur soie une exception. Mais dans la plupart des cas, ces fix devraient marcher.
    A. Enregistrement / Edition de profil qui redirige vers l'index

      » Si vous avez ce problème là:

        » Si vous avez activé l'envoi (upload) d'avatars, il y a des chances pour que vous devrez faire une modification à votre php.ini (seulement si vous êtes votre propre hébergeur). Dans ce fichier, trouvez file_uploads = Off et changez le par file_upload = On. Si vous n'avez pas accès à php.ini, vous devrez désactiver l'envoi d'avatars (Panneau admin -> Configuration)
        » Si vous utilisez Coolfreepages, vous rencontrerez ce problème ou bien une page blanche. Aucune solution n'existe vu que cet hébergeur a désactivé tout ce qui concerne l'envoi de mail. Alors je vous recommande de changer d'hébergeur pour phpBB.

    B. La table sessions est pleine

      » Voici l'erreur que vous seriez susceptible d'avoir en pareil cas:
      Error creating new session

      DEBUG

      SQL Error : 1114 The table 'phpbb_sessions' is full

      INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) VALUES ('544c13e2eea831bb6402a4b35f78e96a', -1, 1041341439, 1041341439, '7f000001', 0, 0)

      Line : 152
      File : /usr/local/apache/html/phpBB/includes/sessions.php

      Biensur, vous pourriez avoir différentes variantes dans le Insert Into ... mais il s'agit de la même erreur (voir occurences en gras)

      » Que signifie cette erreur? Comme indiqué, il y a eu une erreur lors de la création d'une nouvelle session. Une session est une partie de donnée qui trace les utilisateurs quand ils se déplacent dans le forum. C'est utilisé pour indiquer ceux qui sont connectés, dans quel endroit du forum ils sont, et quelle est leur adresse ip. Les sessions sont sauvegardés dans 2 endroits. Coté client, cookies ou url (index.php?sid=session_id). Coté serveur dans la base de données (table sessions). Et parfois, la table sessions est pleine. J'aurais bien envie de vous expliquer comment les sessions marchent, comment elles sont stockées, mais le temps me manque. De plus, j'imagine que tout ce que vous voulez c'est résoudre votre problème. Je vous comprends :P

      » Comment résoudre ce problème? Tout d'abord, avant de faire quoi que ce soit, faites un backup de votre base de données (ou au moins de la table phpbb_sessions) et des fichiers de votre forum (ou au moins includes/sessions.php). Il y a plusieurs façons de résoudre ce problème.

        » Première solution: Ouvrez includes/sessions.php avec votre éditeur de texte et trouvez ce code (~152ème ligne)
        Code: Tout sélectionner
        message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);

        Remplacez le par
        Code: Tout sélectionner
        $error = TRUE; 
        if (SQL_LAYER == "mysql" || SQL_LAYER == "mysql4") 
        { 
            $sql_error = $db->sql_error($result); 
            if ($sql_error["code"] == 1114) 
            { 
                $result = $db->sql_query('SHOW TABLE STATUS LIKE "'.SESSIONS_TABLE.'"'); 
                $row = $db->sql_fetchrow($result); 
                if ($row["Type"] == "HEAP") 
                { 
                    if ($row["Rows"] > 2500) 
                    { 
                        $delete_order = (SQL_LAYER=="mysql4") ? " ORDER BY session_time ASC" : ""; 
                        $db->sql_query("DELETE QUICK FROM ".SESSIONS_TABLE."$delete_order LIMIT 50"); 
                    } 
                    else 
                    { 
                        $db->sql_query("ALTER TABLE ".SESSIONS_TABLE." MAX_ROWS=".($row["Rows"]+50)); 
                    } 
                    if ($db->sql_query($sql)) 
                    { 
                        $error = FALSE; 
                    }                        
                } 
            } 
        } 
        if ($error) 
        { 
            message_die(CRITICAL_ERROR, "Error creating new session", "", __LINE__, __FILE__, $sql); 
        }

        Ce script effacera les 50 plus anciennes sessions (qui ne sont plus valides) de la table sessions si celle-ci contient plus de 2500 sessions actuellement. S'il y a moins de 2500 sessions alors la table peut accueillir 50 sessions de plus. Cela veut dire que la capacité de la table s'accroitra de plus en plus.

        » Deuxième solution: Si la première ne marche pas (dans de rares cas...) alors vous devrez vider manuellement la table sessions à chaque fois que vous rencontrerez cette erreur. Ceci se fera dans la base de donnée. Sélectionnez la table sessions et cliquez afficher. Normallement vous trouverez une fonction vider (empty).

        (pour en savoir plus...

    C. Difficultés de connexion sous un forum hébergé par Lycos

      » Lycos/Multimania/Tripod supporte entièrement phpBB 2.0.4 sauf pour ce qui concerne le login. Dans ce cas vous êtes redirigé vers une page d'erreur propre à Lycos. Si vous cliquez "Précédent" vous êtes néanmoins connecté. Pour fixer ce problème:
      Ouvrez includes/functions.php, cherchez le code commençeant par function redirect($url) et se terminant par le } final et remplacez le par
      Code: Tout sélectionner
      function redirect($url) 
      { 
         global $db, $board_config; 
          
                 if (!empty($db)) 
                 { 
                         $db->sql_close(); 
                 } 
      
         $server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://'; 
         $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name'])); 
         $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : ''; 
         $script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path'])); 
         $script_name = ($script_name == '') ? $script_name : '/' . $script_name; 
         //$url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url)); 
      
         // Redirect via an HTML form for PITA webservers 
         if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE'))) 
         { 
            header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url); 
            echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>'; 
            exit; 
         } 
      
         // Behave as per HTTP/1.1 spec for others 
         //header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url); 
         header('Location: ' . $url); 
         exit; 
      }

    D. Problèmes avec les thèmes

      phpBB : Critical Error

      Couldn't open template_name theme template config file

      Ce problème survient quand phpBB ne peut pas ouvrir le fichier config du thème (fichier .cfg) pour un thème installé.
      » Causes probables:

        » Fichier config renommé: beaucoup de systèmes sont sensibles à la casse du fichier. Si le nom du fichier doit être subSilver.cfg et si vous l'avez renommé par subsilver.cfg (ou si votre client ftp ne tient pas compte de la casse), cela peut mener à cette erreur. Celle-ci peut aussi être due à un renommage complet du fichier. Dans ce cas vous pouvez résoudre l'erreur en vérifiant le nom du fichier.

        » Fichier config manquant: Si le fichier est manquant, cette erreur pourrait aussi apparaitre. Pour régler ce problème, vérifiez si le fichier existe, et s'il n'existe pas, retransférez le thème.

        Image Si le thème concerné est le thème par défaut, oouvrez la table phpbb_config avec phpmyadmin, puis remplacez la valeur du champ default_style par 1 (subSilver sera mis par défaut).
        Si le thème concerné est le thème que vous avez sélectionné dans votre profil, ouvrez la table phpbb_users, et recherchez la ligne correspondant à votre compte (par l'ID utilisateur, généralement 1 pour l'admin). Remplacez la valeur du champ user_style par 1 (subSilver sera votre thème).

      (cette section ne couvre pas toutes les erreurs de template. Pour en savoir plus...)

    E. Erreur 500 - erreur interne du serveur - internal server error - the server has made a boo boo

      » Si vous venez de mettre un fichier .htaccess, c'est probablement le fautif (l'erreur est due à une commande Apache non prise en compte par le serveur). Supprimez-le.
      Sinon (cause la plus fréquente), l'erreur indique un problème sur le serveur. La seule solution est d'attendre la résolution du problème par l'hébergeur. Sur Lycos, cette erreur est fréquente.

    F. Fatal error: Forbidden port in smtp.php on line 126

      » Cela signifie que la fonction PHP fsockopen() (connexion à un serveur SMTP) a été désactivée par l'hébergeur, l'option Utiliser un serveur SMTP ne peut pas être utilisée. Si votre hébergeur a désactivé la fonction mail(), reportez-vous au mod Désactiver l'envoi de mails (ou correctif pour Free.fr dans le centre de doc).

    G. Warning: Failed opening './includes/functions_selects.php' for inclusion (include_path='.;xxxxx') in chemin d'install\phpbb\install.php on line 28

    Warning: Failed opening './includes/sql_parse.php' for inclusion (include_path='.;xxxxx') in chemin d'install\phpbb\install.php on line 247

    Warning: Failed opening './includes/constants.php' for inclusion (include_path='.;xxxxx') in chemin d'install\phpbb\install.php on line 248

    Warning: Failed opening './includes/template.php' for inclusion (include_path='.;xxxxx') in chemin d'install\phpbb\install.php on line 249

    Warning: Failed opening './includes/functions.php' for inclusion (include_path='.;xxxxx') in chemin d'install\phpbb\install.php on line 250

    Warning: Failed opening './includes/sessions.php' for inclusion (include_path='.;xxxxx') in chemin d'install\phpbb\install.php on line 251


      » Cette erreur, qui apparaît lors de l'installation, est due au fait que les fichiers de phpBB n'ont pas été décompressés en respectant l'arborescence (vous devez avoir des sous-dossiers \includes, \admin, \templates, \languages, ....). Supprimez tous les fichiers du serveur, et redécompressez les fichiers en cochant la case "respecter l'arborescence" (l'intitulé et l'emplacement de la case dépendent du logiciel).
--------------------------------
[Dernière mise à jour le 21-09-06 par Elglobo]
ZoliveR
Floodeur universel
Floodeur universel
 
Messages: 13097
Enregistré le: 23 Mai 2002 à 23:03
Localisation: Je mange du tiramisu ^^

Retourner vers [phpBB 2.0.x] Forum de documentation

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron