Taille maximum d'une variable

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par medium69, 6 Octobre 2005.

  1. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    J'ai été confronté à un problème de taille de variables.

    Je mettais en variable le résultat d'une requête SQL accompagné de divers code.
    Une fois la boucle finie, j'affiche la dite variables.

    J'ai été confronté à une page blanche quand la variable à dépassé un certain nombre de caractères (d'octet ?).
    Quelle est cette valeur maximum ?

    Pour mon problème, je l'ai résolu mais sans pour autant connaître cette valeur.
     
  2. LeMulotNocturne
    LeMulotNocturne WRInaute impliqué
    Inscrit:
    1 Juin 2005
    Messages:
    551
    J'aime reçus:
    0
    oui mais en quel langage ? php ? asp ? perl ? (beurk ! :lol: )...
     
  3. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    php ; je ne savais pas que cela variat selon les langages.
     
  4. zimounet
    zimounet WRInaute passionné
    Inscrit:
    8 Novembre 2004
    Messages:
    1 374
    J'aime reçus:
    0
    sa doit se définir dans ton php.ini a mon avis
     
  5. dixenet
    dixenet WRInaute discret
    Inscrit:
    7 Décembre 2004
    Messages:
    148
    J'aime reçus:
    0
    oui mais dit moi n'as tu pas moyen d'eviter un tel stockage d'information.

    Ne te serais t'il pas plus simple de faire des affichages à la volée.

    à mon avis ton code doit etre optimisable. car je fais du PHP de facon intensive et j'ai jamais eu ce type de pb.
     
  6. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    tu parles de centaines de milliers de caracteres pour ta variable ? moi personnelement je n'ai jamais atteint de limites :) et je vois pas pourquoi il y aurai une page blanche, au pire la valeur serai tronquée
     
  7. TotoZeRigolo
    TotoZeRigolo Nouveau WRInaute
    Inscrit:
    26 Septembre 2005
    Messages:
    38
    J'aime reçus:
    0
    théoriquement, la limite est la limite de m'émoire utilisée par PHP (soit 8 Mo par défaut)
    Une variable de 8Mo, ca fait un peu beaucoup ...
    En plus, si il y a une page blanche, c'est pas sur que le problème vienne de là !!!!
     
  8. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    (soit 8 Mo par défaut)

    mon mutu est à 12 :)
     
  9. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    Justement je l'ai modifié en conséquence.
     
  10. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    C'est ce qui m'a aussi étonné... mais pourtant c'et la seule explication que j'y vois.
     
  11. zimounet
    zimounet WRInaute passionné
    Inscrit:
    8 Novembre 2004
    Messages:
    1 374
    J'aime reçus:
    0
    De toute facon, la mémoire de php (fixé a 8 mo apparement, je n'était pas sure du chiffre) peut se configurer dans la config de php!
    Enfin il faut avoir un dédié tout de meme...

    Mais 8 mo de caractères, c'est énorme quand meme!

    Si tu es en mutualisé, regarde le phpinfo...
     
  12. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    Je n'ai pas accès à l'info dans le phpinfo().

    Mais effectivement, je suis en mutualisé, et la limite apparente est très faible... largement inférieure à 1 Mo.

    La page concernée faisait (en totalité donc pas le contenu de la variable) moins de 60 Ko.

    Après plusieurs test, je me suis aperçu que le problème venait bien de là.

    Je récupérais des infos d'une base de donnée et les insérait dans une variable avec du code html (mon glossaire).
    Je passais le contenu complet de la variables sous 2 fonctions chargée de créer les liens vers les définitions, etc.

    J'ai contourné le problème en appelant les fonctions concernées dans le while et affichage à la volée.
    Ce qui me gêne, c'est que cette méthode prend plus de ressource forcément.

    Voici la portion de code concernée que j'ai modifié :
    Code:
    echo '<dl>';
    			while	($sql = mysql_fetch_assoc($res_gloss) ) { // traitement du résultat
    					if		($sql['def_nom_acro'] == NULL) {
    							$terme = ucfirst($sql['def_nom']);
    							$terme = strtr($terme[0], 'é', 'É');
    							$terme .= substr($sql['def_nom'], 1);
    							}
    					else	{
    							$terme = $sql['def_nom'].' '.$sql['def_nom_acro'];
    							}
    					
    					if		($sql['def_texte'] == NULL) {
    							$define = 'La défintion de ce terme est en cours d\'édition.';
    							}
    					else	{
    							$define = $sql['def_texte'];
    							}
    					
    					if		($sql['def_wikipedia'] == NULL) {
    							$wiki = $sql['def_nom'];
    							}
    					else	{
    							$wiki = $sql['def_wikipedia'];
    							}
    										
    					$chaine = '<dt><strong>'.$terme.'</strong></dt>';
    					$chaine .= '<dd>';
    					$chaine .= '<p>'.$define.'</p>';
    					
    					if	($sql['def_texte'] != NULL) {
    						$chaine .= '<p>Source : <a href="http://fr.wikipedia.org" title="Encyclopédie Wikipédia (nouvelle fenêtre)" '.LIEN_EXT.'>Wikipédia</a> - <a href="http://fr.wikipedia.org/wiki/'.$wiki.'" title="(nouvelle fenêtre)" '.LIEN_EXT.'>'.$sql['def_nom'].'</a> - <a href="http://fr.wikipedia.org/w/index.php?title='.$wiki.'&action=history" title="(nouvelle fenêtre)" '.LIEN_EXT.'>Auteur(s)</a> - Cet article est sous licence <a href="http://www.gnu.org/copyleft/fdl.html" title="(nouvelle fenêtre)" '.LIEN_EXT.'>GFDL</a></p>';
    						}
    					$chaine .= RETOUR;
    					$chaine .= '</dd>';
    					
    					$chaine = traiteCode($chaine);
    					if	(eregi('<acron>', $chaine) || eregi('<define>', $chaine) ) { // si le contenu contient une de ces balises
    						$chaine = traiteBalise($chaine, 'lien');
    						}
    						echo $chaine;
    					}
    			mysql_free_result($res_glossaire);
    			echo '</dl>';
    
    Avant j'appelais les fonctions juste une fois à la fin du while.
     
  13. zimounet
    zimounet WRInaute passionné
    Inscrit:
    8 Novembre 2004
    Messages:
    1 374
    J'aime reçus:
    0
    Tu est chez quel hébergeur?
     
  14. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
  15. dixenet
    dixenet WRInaute discret
    Inscrit:
    7 Décembre 2004
    Messages:
    148
    J'aime reçus:
    0
    tu sais le fais de stocker les données dans les varaibles prends bien plus de ressources que de les affichés a la volée. puisque tu affiche toujours le mme nombre de caractere mais que tu stock en plus tes varaibles dans la memoire.

    enfin bon, moi je simplifierais encore plus ton script. tu stock des données dans les variables sans utilité tu pourrais les afficher direct ca accelererais le traitement de ton script et ca eviterais tes pb de varaible trop grande.
     
  16. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    J'y avais pas pensé :oops:
     
  17. dixenet
    dixenet WRInaute discret
    Inscrit:
    7 Décembre 2004
    Messages:
    148
    J'aime reçus:
    0
    pas grave. ca arrive. en regle générale en plus, si tu fait des affichages à la volée et que tu mets intelligement des balises PHP tu peut editer ton design facile avec dreamweaver en module Code et en module Création. Ca peut etre utile des fois
     
Chargement...
Similar Threads - Taille maximum variable Forum Date
Quelle taille doit faire l'index d'un site au maximum ?? Développement d'un site Web ou d'une appli mobile 13 Mai 2010
Une taille maximum pour une BDD ? Administration d'un site Web 8 Juin 2007
modification taille images sur jimdo Développement d'un site Web ou d'une appli mobile 18 Août 2022
vitesse de chargement et taille d'une page Développement d'un site Web ou d'une appli mobile 7 Avril 2022
PageSpeed : Évitez une taille excessive de DOM Développement d'un site Web ou d'une appli mobile 27 Janvier 2021
La taille optimale de la balise Title en 2020 Débuter en référencement 19 Juin 2020
Où trouver le trafic incorrect Adsense détaillé par jour ? AdSense 5 Mai 2020
Rich snippet avis et taille de site Référencement Google 24 Juin 2019
Taille des sitemaps qui diminue alors que le catalogue produit augmente Débuter en référencement 8 Mars 2019
Taille du header ? Incidence ? Référencement Google 2 Septembre 2018
Google image sitemap taille max Débuter en référencement 12 Juin 2018
Google réduit la taille des descriptifs (snippets) : retour à 160 caractères ? Référencement Google 14 Mai 2018
Taille max cache Google ? Référencement Google 19 Septembre 2017
Bannière adsense taille maximale AdSense 16 Février 2017
Site de petites annonces avec Vidéo pour détailler le bien en vente Demandes d'avis et de conseils sur vos sites 1 Février 2017
qu'elle est la taille et le nom de la police de caractère utilisé sur le site change.org Demandes d'avis et de conseils sur vos sites 30 Janvier 2017
Taille de page différente en fonction des outils d'analyse Débuter en référencement 9 Décembre 2016
Fichier sitemap : la taille maximale passe à 50Mo Crawl et indexation Google, sitemaps 1 Décembre 2016
Optimisation de la taille d'une page web Développement d'un site Web ou d'une appli mobile 2 Novembre 2016
Avoir le générateur de mots clés détaillés AdWords 4 Octobre 2016