Bonjour,

je travaille sous environnement linux, et je viens de créer un script php qui interroge et alimente une base de données (mysql) sans aucun affichage graphique.

Le script aurait pu être réalisé en perl mais des contraintes annexes force l'usage du php.

Problème:
lors de l'exécution du script en ligne de commande (1min) l'erreur suivante remonte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 user@serveur$ php monscript.php
PHP Fatal error:  Allowed memory size of 8388608 bytes exhausted (tried to allocate 4096 bytes) in /XXXXXXX/XXXXX.php on line 65
Content-type: text/html
X-Powered-By: PHP/XXX
 
sed: couldn't write 114985 items to stdout: Broken pipe
Le script est donc interrompu et n'alimente pas ma base. L'erreur est toujours la même mais ne vise jamais le même endroit de mon script (ligne 51, 204 puis 403...).

Vous me direz: bah c'est une boucle qui part dans le vide ou quelque chose comme ça? bah à mon avis non !

En exécutant le script en passant via mon navigateur web, le script s'exécute normalement et ma base de données est alimentée comme il faut.

Je me suis donc dis que le user "apache" avait peut être des facilités pour l'exécution de script (ressources mémoire etc..).

Donc j'ai effectué le même test avec le user apache :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 apache@serveur$ php monscript.php
PHP Fatal error:  Allowed memory size of 8388608 bytes exhausted (tried to allocate 4096 bytes) in /XXXXXXX/XXXXX.php on line 204
Content-type: text/html
X-Powered-By: PHP/XXX
 
sed: couldn't write 114985 items to stdout: Broken pipe
résultat identique....

j'ai essayer d'allouer plus de mémoire à mon script via une commande php mais rien n'y change !

Avez vous déja rencontré ce problème?

Merci d'avance!

Sylvain