Fatal error: Allowed memory

Résolu
Signaler
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
Je suis perdu ! ! ! Est-ce que quelqu'un peut
m'expliquer cette erreur ? Je veux dire en français... Non pas que je
ne comprenne pas l'anglais mais là, c'est plus fort que moi... Je poste
un texte et je reçois cette erreur :


Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 46080 bytes) in /var/www/free.fr/7/6/manuelpayet/www/sitedynamique/admin/flashinfo/script/flashinfo_ajouter.php on line 92



Merci pour vos réponses...

__





LNP...

pour vous...

7 réponses

Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
C'est pas à la ligne 92 le problème... le script s'est arrèté la tout
simplement... flashinfo... ca veut dire surement que ton prog prend
trop de mémoire dans un prog swf ?. Ca m'est arrivé avec gd2 moi quand
je chargeais une image trop grosse... Ca marche en local mais pas sur
les serv comme ca...

Voila

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
youhou ? T'as un require tu sais pas lire :P ? en plus tu nous a copier le mauvais fichier...

Mais si c'est le bon fichier, oui tu as une récursion parce que tu rappelles le fichier !

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007

L'erreur venait surtout de la requette SQL...

$sql = sprintf(


"INSERT INTO flashinfo (


titre,


soustitre,


texte,


dateproposition,


datepublication,


datesuppression,


urlimage,


datevalidation


) VALUES ( %s, %s, %s, NOW(), %s, NULL, %s, NULL)",


quote_smart( $_REQUEST['titre'] ) ,


quote_smart( $_REQUEST['soustitre'] ) ,


quote_smart( $_REQUEST['texte'] ) ,


quote_smart( $datepublication ) ,


quote_smart( $urlimage )


);

Je veux toujours aller un peu trop vite alors j'avais oublié des arguments...



Voilà la solution :



<hr size="2" width="100%"><?php

/* Auteur : PAYET Manuel

* Création : 30/5/2005

* version : 1.0

* Module de gestion : flashinfo

* Ajout des flashinfo

*/



// Initialisation des variables pour un affichage cohérent

if ( ! isset( $titre ) ) { $titre = NULL; }

if ( ! isset( $soustitre ) ) { $soustitre = NULL; }

if ( ! isset( $texte ) ) { $texte = NULL; }

if ( ! isset( $urlimage ) ) { $urlimage = NULL; }

if ( ! isset( $jour ) ) { $jour = NULL; }

if ( ! isset( $mois ) ) { $mois = NULL; }

if ( ! isset( $annee ) ) { $annee = NULL; }

if ( ! isset( $heure ) ) { $heure = NULL; }

if ( ! isset( $minute ) ) { $minute = NULL; }

if ( ! isset( $seconde ) ) { $seconde = NULL; }



if ( isset( $_REQUEST['flashinfo_ajouter'] )

AND $_REQUEST['titre'] == fx_filter( 'titre' , 'STRING' )

AND $_REQUEST['texte'] == fx_filter( 'texte' , 'TEXTE' )

) {



echo "avant

";

$datepublication =

dateSQLplus(

$_REQUEST['jour'],

$_REQUEST['mois'],

$_REQUEST['annee'],

$_REQUEST['heure'],

$_REQUEST['minute'],

$_REQUEST['seconde']

);

echo "après

";

print_r($_REQUEST);

print_r($_FILES);

echo "

";



require("flashinfo_upload_image.php");



// La requête SQL qui sert à ajouter un enregistrement dans la table flashinfo

$sql = sprintf(

"INSERT INTO flashinfo (

titre,

soustitre,

texte,

dateproposition,

datepublication,

datesuppression,

urlimage,

datevalidation

) VALUES ( %s, %s, %s, NOW(), %s, NULL, %s, NULL)",

quote_smart( $_REQUEST['titre'] ) ,

quote_smart( $_REQUEST['soustitre'] ) ,

quote_smart( $_REQUEST['texte'] ) ,

quote_smart( $datepublication ) ,

quote_smart( $urlimage )

);

if ( mysql_query( $sql ) ) {

echo "Enregistrement effectué !";

/* L'enregistrement s'est bien déroulé.

* On détruite les variables pour permettre une réinitialisation ultérieure

*/

unset(

$_FILES,

$_REQUEST,

$sql,

$titre,

$soustitre,

$texte,

$jour,

$mois,

$annee,

$heure,

$minute,

$seconde,

$urlimage

);



// On rapelle la page pour écrire l'article suivant

require("flashinfo_ajouter.php");



} else {

echo "Erreur lors de
l'enregistremnt
".mysql_errno()." :
".mysql_error()."

";

}



} else {



if ( isset (
$_REQUEST['titre'] ) ) {
$titre =
$_REQUEST['titre']; }

if ( isset ( $_REQUEST['soustitre'] ) ) { $soustitre = $_REQUEST['soustitre']; }

if ( isset (
$_REQUEST['texte'] ) ) {
$texte =
$_REQUEST['texte']; }

if ( isset (
$_REQUEST['jour'] ) ) {
$jour =
$_REQUEST['jour']; }

if ( isset (
$_REQUEST['mois'] ) ) {
$mois =
$_REQUEST['mois']; }

if ( isset (
$_REQUEST['annee'] ) ) {
$annee =
$_REQUEST['annee']; }

if ( isset (
$_REQUEST['heure'] ) ) {
$heure =
$_REQUEST['heure']; }

if ( isset ( $_REQUEST['minute'] )
) { $minute = $_REQUEST['minute']; }

if ( isset ( $_REQUEST['seconde'] ) ) {
$seconde = $_REQUEST['seconde']; }

if ( isset ( $_FILES['urlimage'] )
) { $urlimage = $_FILES['urlimage']; }

?>

Menu de gestion des flashinfo


<?

require("flashinfo/tpl/flashinfo_ajouter_tpl.php");

}



?>



<hr size="2" width="100%">



Merci pour votre aide.

__

LNP...
pour vous...
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

t'as alloué 8M de mémoire apparemment, ce qui est ton maximum autorisé...

tu postes un texte très long sans doute ? t'as pas une fonction très
gourmande ou récusrsive dans ton code ? Y a quoi à la ligne 92 ?
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007

Le problème est que je n'ai pas de fonction récursive dans cette page.

<hr size="2" width="100%">Voilà ma page qui génére l'erreur :



<?php



//require_once("../params.php");

//require_once("../sitedynamique_lib.php");



// Initialisation des variables pour un affichage cohérent

if ( ! isset( $titre ) ) { $titre = NULL; }

if ( ! isset( $soustitre ) ) { $soustitre = NULL; }

if ( ! isset( $texte ) ) { $texte = NULL; }

if ( ! isset( $urlimage ) ) { $urlimage = NULL; }

if ( ! isset( $jour ) ) { $jour = NULL; }

if ( ! isset( $mois ) ) { $mois = NULL; }

if ( ! isset( $annee ) ) { $annee = NULL; }

if ( ! isset( $heure ) ) { $heure = NULL; }

if ( ! isset( $minute ) ) { $minute = NULL; }

if ( ! isset( $seconde ) ) { $seconde = NULL; }



if ( isset( $_REQUEST['flashinfo_ajouter'] )

AND $_REQUEST['titre'] == fx_filter( 'titre' , 'STRING' )

AND $_REQUEST['texte'] == fx_filter( 'texte' , 'TEXTE' )

) {



echo "avant

";



$datepublication =

dateSQLplus(

$_REQUEST['jour'],

$_REQUEST['mois'],

$_REQUEST['annee'],

$_REQUEST['heure'],

$_REQUEST['minute'],

$_REQUEST['seconde']

);



echo "après

";

print_r($_REQUEST);

print_r($_FILES);

echo "

";



require("flashinfo_upload_image.php");



// La requête SQL qui sert à ajouter un enregistrement dans la table flashinfo

$sql = sprintf(

"INSERT INTO flashinfo (

titre,

soustitre,

texte,

dateproposition,

datepublication,

datesuppression,

urlimage,

datevalidation

) VALUES ( %s, %s, NOW(), %s, NULL, %s, NULL )",

quote_smart( $_REQUEST['titre'] ) ,

quote_smart( $_REQUEST['soustitre'] ) ,

quote_smart( $_REQUEST['texte'] ) ,

quote_smart( $datepublication ) ,

quote_smart( $urlimage )

);

if ( mysql_query( $sql ) ) {

echo "Enregistrement effectué !";

/* L'enregistrement s'est bien déroulé.

* On détruite les variables pour permettre une réinitialisation ultérieure

*/

unset(

$_FILES,

$_REQUEST,

$sql,

$titre,

$soustitre,

$texte,

$jour,

$mois,

$annee,

$heure,

$minute,

$seconde,

$urlimage

);

} else {

echo "fin ajout";

}



// On rapelle la page pour écrire l'article suivant

require("flashinfo_ajouter.php");



} else {



if ( isset (
$_REQUEST['titre'] ) ) {
$titre =
$_REQUEST['titre']; }

if ( isset ( $_REQUEST['soustitre'] ) ) { $soustitre = $_REQUEST['soustitre']; }

if ( isset (
$_REQUEST['texte'] ) ) {
$texte =
$_REQUEST['texte']; }

if ( isset (
$_REQUEST['jour'] ) ) {
$jour =
$_REQUEST['jour']; }

if ( isset (
$_REQUEST['mois'] ) ) {
$mois =
$_REQUEST['mois']; }

if ( isset (
$_REQUEST['annee'] ) ) {
$annee =
$_REQUEST['annee']; }

if ( isset (
$_REQUEST['heure'] ) ) {
$heure =
$_REQUEST['heure']; }

if ( isset ( $_REQUEST['minute'] )
) { $minute = $_REQUEST['minute']; }

if ( isset ( $_REQUEST['seconde'] ) ) {
$seconde = $_REQUEST['seconde']; }

if ( isset ( $_FILES['urlimage'] )
) { $urlimage = $_FILES['urlimage']; }

?>

Menu de gestion des flashinfo


<?

require("flashinfo/tpl/flashinfo_ajouter_tpl.php");

}



?>

<hr size="2" width="100%">

Est-ce que tu vois l'erreur dans cette page ? ? ? Où est la récursion dans cette page ? ? ?

__





LNP...

pour vous...
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



poste-nous ton code stp.

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007

Super ! J'ai trouvé l'erreur ! ! ! Effectivement cela boucle ! J'avais mal positionner le require ! ! !

__

LNP...
pour vous...