Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'utilise Zend_Http_Client afin de faire des échanges entre deux bases de données (une liée à un client lourd et l'autre sur un serveur web).
1) J'extrais des données,
2) Je les mets dans un fichier XML
3) Je split le fichier en fichiers de 1Mo
4) J'envoie tous les fichiers splitté un par un sur le serveur web
5) Le serveur web reassemble le fichier XML
6) Le serveur web integre le fichier XMl dans la BDD
Tout cela marche avec un fichier XML d'origine (avant split) peu volumineux.
Avec un fichier XMl volumineux (57Mo), j'ai ce message d'erreur coté client à l'etape 6:
Unknown error : Unable to read response, or response is emptyobject(Zend_Http_Client_Exception)
Coté client voici les paramètres de la requête :
$request = new Zend_Http_Client($serverUrl . 'receive/'); $request->setConfig(array('timeout'=> 3000,'keepalive'=> true));
J'ai modifié le php.ini :
max_execution_time = 3600 ; Maximum execution time of each script, in seconds max_input_time = 6000 ; Maximum amount of time each script may spend parsing request data memory_limit = 512M ; Maximum amount of memory a script may consume (16MB)
et apache2.conf
KeepAlive On KeepAliveTimeout 3600
Je fais des tests pour savoir ce qui bloque
Je ne vois rien dans le log d'erreur d'Apache
Est ce que quelqu'un a déjà eu ce genre de problème ? Existe t il d'autres paramètres coté client ou serveur que je pourrais modifier ?
Dernière modification par bertra (12-08-2008 11:41:51)
Hors ligne
Bon, alors en fait c'était juste que le serveur (n'étant pas très puissant) n'avait plus de mémoire suite au chargement d'un gros fichier XML avec SimpleXML.
En passant en SAX le problème n'existe plus
Dernière modification par bertra (18-08-2008 09:36:56)
Hors ligne
memory_limit = 512M ; Maximum amount of memory a script may consume (16MB)
Sur ce point, tu as probablement fait une erreur, car cette allocation est faite par script, c'est à dire à chaque appel d'une page php ! Donc, je te conseillerais de la redescendre, car un script qui consomme + de 16Mo est un mauvais script... Et cela ne concerne pas ton problème !
Dans PHP.INI :
upload_max_filesize = 40M
C'est ce paramêtre que tu doit adapter pour l'envoi de fichier.
post_max_size = 8M
Et celui-ci pour les formulaires.
J'espère que ces informations pourront t'aider
Dernière modification par littlepsylo (18-08-2008 09:42:12)
Hors ligne
Pages: 1