Bonjour,
Je suis actuellement en train de développer une application en PHP dans le cadre d'un stage en entreprise.
J'utilise NetBeans pour programmer et XAMPP-Apache comme serveur.
En ce qui concerne mon PC, voici sa config :
Je tourne sous XPPentium(R) Dual-Core CPU
E5400 @ 2.70GHz 1.18GHz
1.96GB of RAM
Mon script charge des flux XML via la méthode simplexml_load_file. Ces flux contiennent plusieurs milliers de lignes, ce qui les rends un peu lourd (~35MO). A partir du 7ème flux, j'ai une erreur de ce type qui apparaît:
Les 6 premiers flux sont parfaitement parcourus, puis apparaissent ces erreurs pour les flux suivants.Warning: simplexml_load_file() [function.simplexml-load-file]:
...
parser error : Memory allocation failed : xmlSAX2Characters in D:\xampp\htdocs\PhpProject1\controleur\gerer_rapport_emission.php on line 93
Warning: simplexml_load_file() [function.simplexml-load-file]:
...
parser error : out of memory error in D:\xampp\htdocs\PhpProject1\controleur\gerer_rapport_emission.php on line 93
Je dois préciser qu'une fois le flux chargé dans un objet, et les informations visées récupérées, je détruit l'objet avec unset() avant de faire mon traitement et de passer au flux suivant.
Je pense donc que cela vient du serveur. Mais pour être honnête, je n'y connais rien en serveur!
Donc voici ce que j'ai déjà fait:
Et ça ne fonctionne toujours pas. Alors, ai-je fait quelque chose de travers, manque t'il quelque chose ou, finalement, ne s'agirait-il pas d'autre chose?- changer la valeur de memory_limit dans le php.ini. Elle était à 128M, je l'ai passée à 300M,
- ajouter ligne php_value memory_limit à 300M dans .htaccess (librairie),
- ajouter ligne ini_set('memory_limit', '300M') dans mon script,
- ajouter lignes :
php_value memory_limit à 300M,
extension = pdo.so
extension = pdo_sqlite.so
extension = sqlite.so
extension = pdo_mysql.so dans .htaccess (sqli, il me semble)
- ajouter la copie de php.ini dans apache/bin
Partager