IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Page blanche si trop d'enregistrements sont retournés [phpMyAdmin]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut Page blanche si trop d'enregistrements sont retournés
    Bonjour,
    Une requête donne un résultat de 323 lignes et m'affiche, comme d'habitude sous phpMyAdmin, les 30 premières.
    Je veux afficher les 323 donc j'exécute de nouveau la requête en ajoutant LIMIT 323 à la fin de celle-ci. J'obtiens une page blanche !
    Comme cette requête est relativement longue, je me dis que c'est peut-être un problème de timeout quelque part (dans MySQL ? dans phpMyAdmin ?)

    Je crée alors une table avec le résultat de la requête. Cette table contient donc 323 lignes.
    Si je clique sur l'onglet Afficher, j'obtiens les 30 premières lignes.
    Si je demande ensuite, à l'aide de l'interface de phpMyAdmin, de m'afficher les 323 lignes à partir de la zéro, j'ai une page blanche !
    J'ai essayé avec :
    - 100 lignes ==> Ca marche
    - 200 lignes ==> Ca marche
    - 300 lignes ==> Page blanche
    La limite d'affichage correct se situe même sous les 250 lignes.
    Sachant qu'il s'agit maintenant d'un simple SELECT * sur une table de 323 lignes, ce qui s'exécute en quelques millièmes de seconde, je trouve ça bizarre ! On n'est plus dans un problème de timeout.

    phpMyAdmin est installé sur un serveur Linux Debian Etch et exécuté sur un poste client Windows XP.

    Une idée ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut


    Tu as mis ton error_reporting à E_ALL si t'es sous PHP4 et à E_ALL | E_STRICT si t'es sous PHP5 dans le php.ini ?

    Tu as, a priori, une erreur qui ne s'affiche pas.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    J'ai ça :
    error_reporting = E_ALL & ~E_NOTICE
    Le serveur est en PHP5.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Remplace le par
    Code ini : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting = E_ALL | E_STRICT
    redémarre le serveur, refais ta requête et dis nous ce qui s'affiche.

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Ca n'a rien changé !
    Page blanche.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Dans ton php.ini, vérifie que display_errors est à On car ça me parait très bizarre.

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Oui :
    display_errors = On
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Si tu as toujours rien, mets log_errors à On et regarde tes logs Apache (error.log) : on va y arriver

  9. #9
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Voilà les dernières lignes de error.log
    [Tue Feb 03 15:09:26 2009] [notice] caught SIGTERM, shutting down
    PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/php_pgsql.so' - /usr/lib/php5/20060613/php_pgsql.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning: Module 'gd' already loaded in Unknown on line 0
    PHP Warning: Module 'mysql' already loaded in Unknown on line 0
    [Tue Feb 03 15:09:28 2009] [notice] Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 configured -- resuming normal operations
    [Tue Feb 03 15:09:49 2009] [error] [client 147.99.101.238] PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 2671808 bytes) in Unknown on line 0, referer: http://147.99.101.196/phpmyadmin/tbl...0&show_query=1
    Apparemment c'est la dernière ligne qui donne la piste.

    Dans les variables du serveur sur phpMyAdmin, j'ai les paramètres suivant à 16777216 :
    - key buffer size
    - max heap table size
    - query cache size

    Sachant que le serveur a 32 Go de RAM, je change quoi ? A combien ? Comment ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Je dirais que ton problème vient de là :
    [Tue Feb 03 15:09:49 2009] [error] [client 147.99.101.238] PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 2671808 bytes) in Unknown on line 0, referer: http://147.99.101.196/phpmyadmin/tbl...0&show_query=1
    Rafraichis ta page et regarde de nouveau le log.
    Si tu as encore ce message d'erreur avec l'heure correspondante au moment où tu as rafraichit la page pour la dernière fois, modifie la ligne du memory_limit dans ton php.ini :
    Code ini : Sélectionner tout - Visualiser dans une fenêtre à part
    memory_limit = 128M;
    (le tiens actuellement doit être à 16M).

    Edit : je viens de voir que tu avais éditer ton message : Dans ton my.cnf (ou my.ini je sais plus) il faut que tu augmente ces valeurs
    max_heap_table_size=32M
    tmp_table_size=32M
    Les valeurs que je te donnes sont à titre d'exemple par contre il faut qu'elles soient identiques je crois.

  11. #11
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Un gros merci !
    Ca fonctionne !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #12
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    ça fonctionne mais tu autorise des script bouffant 128Mo et c'est pas top niveau sécurité.
    Essaie tout de même de le baisser jusqu'à trouver la taille qu'il te faut sans pour autant la dépasser de trop.

    Ce fut un plaisir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] page blanche après enregistrement sur un base de donne MySql
    Par lelislois dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/06/2015, 08h15
  2. Réponses: 14
    Dernier message: 28/02/2015, 22h51
  3. [Web Service] page blanche car trop de données
    Par schwarzy2 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 21/04/2011, 10h41
  4. Recherche retourne une page blanche
    Par Rizzen dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 0
    Dernier message: 28/07/2009, 14h07
  5. Page blanche entre les enregistrements d'un état
    Par mimir123 dans le forum IHM
    Réponses: 4
    Dernier message: 10/07/2008, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo