Taille maximum d'une variable
17 messages
• Page 1 sur 2 • 1, 2
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
Taille maximum d'une variable
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.
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.
-

LeMulotNocturne - WRInaute impliqué

- Messages: 674
- Inscription: 1 Juin 2005
oui mais en quel langage ? php ? asp ? perl ? (beurk !
)...
-

dixenet - WRInaute discret

- Messages: 163
- Inscription: 7 Déc 2004
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.
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.
- TotoZeRigolo
- Nouveau WRInaute

- Messages: 39
- Inscription: 26 Sep 2005
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à !!!!
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à !!!!
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
dixenet a écrit: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.
Justement je l'ai modifié en conséquence.
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
e-kiwi a écrit:tu parles de centaines de milliers de caracteres pour ta variable ? moi personnelement je n'ai jamais atteint de limiteset je vois pas pourquoi il y aurai une page blanche, au pire la valeur serai tronquée
C'est ce qui m'a aussi étonné... mais pourtant c'et la seule explication que j'y vois.
- zimounet
- WRInaute passionné

- Messages: 1796
- Inscription: 8 Nov 2004
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...
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...
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
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é :
Avant j'appelais les fonctions juste une fois à la fin du while.
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: Tout sélectionner
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.
-

dixenet - WRInaute discret

- Messages: 163
- Inscription: 7 Déc 2004
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.
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.
17 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- taille maximum d'une base de donné et comment l'optimiser
- Quelle taille doit faire l'index d'un site au maximum ??
- Centrer une image de taille variable.
- Une taille maximum pour une BDD ?
- upload de fichier via PHP : taille variable du fichier créé
- taille des images / taille de l'écran
- Probleme variable php '.xxxx.' dans autre variable '.zzzz.'
- PR10 : les meilleurs Google PageRank de la planète ! - 24-10-2002
- Google indexe plus de 8 milliards de pages - 11-11-2004
- Etude des Data Centers de Google - 19-10-2002
- Le checksum de la Google Toolbar - 06-04-2003
- Classement Xiti/1ère Position des outils de recherche en France - Août 2002 - 05-09-2002
- Parts de marché des moteurs en Europe (Février 2006) - 09-12-2006
- Des longues descriptions de sites (snippets) en test sur Google - 29-09-2008
- Tous les raccourcis-clavier de Google Chrome (shortcuts) - 05-09-2008
Consultez la description détaillée des produits ou services de Google suivants : Google Browser Size
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

