snwoman49 Posté 25 Août 2005 Posté 25 Août 2005 Bonjour, J'éxécute la génération des cartes avec gd sur mes 2 serveurs,sur le 1er serveur (mutualisé) tout marche impeccable,mais sur le serveur dédié (chez moi) cela me renvoie un message d'erreur.Me disant que l'imahe http machin truc n'a pas pu s'afficher car elle contient des erreurs,alors que sur l'autre serveur elle s'est affiché. Voici les extensions dans php.ini extension=php_bz2.dll;extension=php_cpdf.dll;extension=php_curl.dll;extension=php_dba.dll;extension=php_dbase.dll;extension=php_dbx.dll;extension=php_exif.dll;extension=php_fdf.dll;extension=php_filepro.dllextension=php_gd2.dll;extension=php_gettext.dll;extension=php_ifx.dll;extension=php_iisfunc.dll;extension=php_imap.dll;extension=php_interbase.dll;extension=php_java.dll;extension=php_ldap.dllextension=php_mbstring.dll;extension=php_mcrypt.dll;extension=php_mhash.dll;extension=php_mime_magic.dll;extension=php_ming.dll;extension=php_mssql.dll;extension=php_msql.dll;extension=php_mysql.dll;extension=php_oci8.dll;extension=php_openssl.dll;extension=php_oracle.dll;extension=php_pdf.dll;extension=php_pgsql.dll;extension=php_shmop.dll;extension=php_snmp.dll;extension=php_sockets.dll;extension=php_sybase_ct.dll;extension=php_tidy.dll;extension=php_w32api.dll;extension=php_xmlrpc.dll;extension=php_xsl.dll;extension=php_yaz.dll;extension=php_zip.dllextension=php_mysqli.dll Maintenant je me demande s'il ne faut pas configurer ces choses ci dessous car je pense que c'est un problème de temps de génération.. # Timeout: The number of seconds before receives and sends time out.#Timeout 30## KeepAlive: Whether or not to allow persistent connections (more than# one request per connection). Set to "Off" to deactivate.#KeepAlive On## MaxKeepAliveRequests: The maximum number of requests to allow# during a persistent connection. Set to 0 to allow an unlimited amount.# We recommend you leave this number high, for maximum performance.#MaxKeepAliveRequests 100## KeepAliveTimeout: Number of seconds to wait for the next request from the# same client on the same connection.#KeepAliveTimeout 14#### Server-Pool Size Regulation (MPM specific)## # WinNT MPM# ThreadsPerChild: constant number of worker threads in the server process# MaxRequestsPerChild: maximum number of requests a server process serves<IfModule mpm_winnt.c>ThreadsPerChild 250MaxRequestsPerChild 0</IfModule> Merci pour vos réponses. Amicalement
petit-ourson Posté 25 Août 2005 Posté 25 Août 2005 Il doit y avoir une erreur dans le code. Enfin peut etre aussi dans la config, mais faudrait d'abord voire pourquoi l'image ne peut pas s'afficher. Il faudrait que tu regardes s'il n'y a pas d'erreur avant d'afficher l'image. Il est fort probable que ton serveur de production masque les warnings donc affiche bien ton image.
snwoman49 Posté 25 Août 2005 Auteur Posté 25 Août 2005 Dans le code logiquement il n'y a aucune erreur,mais je pense à un temps de génération trop limité dans la conf du dédié,car une image avec le même code mais moins longue à générer s'affiche.
Anonymus Posté 25 Août 2005 Posté 25 Août 2005 Le temps maximum alloué pour créer une image (par défaut) est de 30 secondes. il faut, j'espère, beaucoup moins longtemps à ton serveur pour créer l'image, ou alors c'est un problème autre. Tu peux rallonger les temps d'execution, mais ca serait préférable de ne pas toucher à la config. du serveur pour ca. Tu peux nous poster le code servant à créer l'image ? Qu'on y regarde de plus pret ? Merci.
snwoman49 Posté 25 Août 2005 Auteur Posté 25 Août 2005 Je pense qu'il faut plus de 30s.Mais comme c'est le serveur chez moi ca ne gène pas.Voici le code en entier.Faut imaginer que j'en est plus de 50 pages comme ca certaines à générer toutes les heures et les autres à générer toutes les 6h. J'ai remplacé volontairement la valeur des url par url. <? $heure = date("H:i");header ("Content-type: image/Png");$fichierimage="url";$im = imagecreatefromjpeg($fichierimage); /* Création d'une image blanche */$colormin = imagecolorallocate($im, 0, 0, 255);$colormax = imagecolorallocate($im, 255, 0, 0);//flensburg$fa = fopen("url", "r");$flensburg=fread($fa,100);$flensburg1 = imagecreatefromgif($flensburg);fclose($fa);//flensburg tempe min$fa = fopen("url", "r");$flensburg2=fread($fa,100);imagestring ($im, 4, 200, 120 ,"$flensburg2", $colormin);fclose($fa);//flensburg tempe max$fa = fopen("url", "r");$flensburg3=fread($fa,100);imagestring ($im, 4, 240, 120, "$flensburg3", $colormax);fclose($fa);//hambourg$fa = fopen("url", "r");$hambourg=fread($fa,100);$hambourg1 = imagecreatefromgif($hambourg);fclose($fa);//hambourgtempe min$fa = fopen("url", "r");$hambourg2=fread($fa,100);imagestring ($im, 4,210, 210,"$hambourg2", $colormin);fclose($fa);//hambourg tempe max$fa = fopen("url", "r");$hambourg3=fread($fa,100);imagestring ($im, 4,250, 210, "$hambourg3", $colormax);fclose($fa);//breme$fa = fopen("url", "r");$breme=fread($fa,100);$breme1 = imagecreatefromgif($breme);fclose($fa);//breme tempe min$fa = fopen("url", "r");$breme2=fread($fa,100);imagestring ($im, 4,125, 240,"$breme2", $colormin);fclose($fa);//breme tempe max$fa = fopen("url", "r");$breme3=fread($fa,100);imagestring ($im, 4,163, 240, "$breme3", $colormax);fclose($fa);//rostok$fa = fopen("url", "r");$rostok=fread($fa,100);$rostok1 = imagecreatefromgif($rostok);fclose($fa);//rostok tempe min$fa = fopen("url", "r");$rostok2=fread($fa,100);imagestring ($im, 4,324, 170,"$rostok2", $colormin);fclose($fa);//rostok tempe max$fa = fopen("url", "r");$rostok3=fread($fa,100);imagestring ($im, 4,364, 170, "$rostok3", $colormax);fclose($fa);//berlin$fa = fopen("url", "r");$berlin=fread($fa,100);$berlin1 = imagecreatefromgif($berlin);fclose($fa);//berlin tempe min$fa = fopen("url", "r");$berlin2=fread($fa,100);imagestring ($im, 4,364, 270,"$berlin2", $colormin);fclose($fa);//berlin tempe max$fa = fopen("url", "r");$berlin3=fread($fa,100);imagestring ($im, 4,404, 270, "$berlin3", $colormax);fclose($fa);//magdeburg$fa = fopen("url", "r");$magdeburg=fread($fa,100);$magdeburg1 = imagecreatefromgif($magdeburg);fclose($fa);//magdeburg tempe min$fa = fopen("url", "r");$magdeburg2=fread($fa,100);imagestring ($im, 4,269, 306,"$magdeburg2", $colormin);fclose($fa);//magdeburg tempe max$fa = fopen("url", "r");$magdeburg3=fread($fa,100);imagestring ($im, 4,309, 306, "$magdeburg3", $colormax);fclose($fa);//bielefeld$fa = fopen("url", "r");$bielefeld=fread($fa,100);$bielefeld1 = imagecreatefromgif($bielefeld);fclose($fa);//bielefeld tempe min$fa = fopen("url", "r");$bielefeld2=fread($fa,100);imagestring ($im, 4,180, 341,"$bielefeld2", $colormin);fclose($fa);//bielefeld tempe max$fa = fopen("url", "r");$bielefeld3=fread($fa,100);imagestring ($im, 4,220, 341, "$bielefeld3", $colormax);fclose($fa);//dieusburg$fa = fopen("url", "r");$dieusburg=fread($fa,100);$dieusburg1 = imagecreatefromgif($dieusburg);fclose($fa);//dieusburg tempe min$fa = fopen("url", "r");$dieusburg2=fread($fa,100);imagestring ($im, 4,90, 366,"$dieusburg2", $colormin);fclose($fa);//dieusburg tempe max$fa = fopen("url", "r");$dieusburg3=fread($fa,100);imagestring ($im, 4,130, 366, "$dieusburg3", $colormax);fclose($fa);//bonn$fa = fopen("url", "r");$bonn=fread($fa,100);$bonn1 = imagecreatefromgif($bonn);fclose($fa);//bonn tempe min$fa = fopen("url", "r");$bonn2=fread($fa,100);imagestring ($im, 4,95, 440,"$bonn2", $colormin);fclose($fa);//bonn tempe max$fa = fopen("url", "r");$bonn3=fread($fa,100);imagestring ($im, 4,135, 440,"$bonn3", $colormax);fclose($fa);//offenbach$fa = fopen("url", "r");$offenbach=fread($fa,100);$offenbach1 = imagecreatefromgif($offenbach);fclose($fa);//offenbach tempe min$fa = fopen("url", "r");$offenbach2=fread($fa,100);imagestring ($im, 4,190, 445,"$offenbach2", $colormin);fclose($fa);//offenbach tempe max$fa = fopen("url", "r");$offenbach3=fread($fa,100);imagestring ($im, 4,230, 445,"$offenbach3", $colormax);fclose($fa);//chemnitz$fa = fopen("url", "r");$chemnitz=fread($fa,100);$chemnitz1 = imagecreatefromgif($chemnitz);fclose($fa);//chemnitz tempe min$fa = fopen("url", "r");$chemnitz2=fread($fa,100);imagestring ($im, 4, 280, 394,"$chemnitz2", $colormin);fclose($fa);//chemnitz tempe max$fa = fopen("url", "r");$chemnitz3=fread($fa,100);imagestring ($im, 4,320, 394,"$chemnitz3", $colormax);fclose($fa);//dresde$fa = fopen("url", "r");$dresde=fread($fa,100);$dresde1 = imagecreatefromgif($dresde);fclose($fa);//dresde tempe min$fa = fopen("url", "r");$dresde2=fread($fa,100);imagestring ($im, 4, 370, 360,"$dresde2", $colormin);fclose($fa);//dresde tempe max$fa = fopen("url", "r");$dresde3=fread($fa,100);imagestring ($im, 4,410, 360,"$dresde3", $colormax);fclose($fa);//nuremberg$fa = fopen("url", "r");$nuremberg=fread($fa,100);$nuremberg1 = imagecreatefromgif($nuremberg);fclose($fa);//nuremberg tempe min$fa = fopen("url", "r");$nuremberg2=fread($fa,100);imagestring ($im, 4, 275, 500,"$nuremberg2", $colormin);fclose($fa);//nuremberg tempe max$fa = fopen("url", "r");$nuremberg3=fread($fa,100);imagestring ($im, 4,315, 500,"$nuremberg3", $colormax);fclose($fa);//stuttgart$fa = fopen("url", "r");$stuttgart=fread($fa,100);$stuttgart1 = imagecreatefromgif($stuttgart);fclose($fa);//stuttgart tempe min$fa = fopen("url", "r");$stuttgart2=fread($fa,100);imagestring ($im, 4, 170, 530,"$stuttgart2", $colormin);fclose($fa);//stuttgart tempe max$fa = fopen("url", "r");$stuttgart3=fread($fa,100);imagestring ($im, 4,210, 530,"$stuttgart3", $colormax);fclose($fa);//munich$fa = fopen("url", "r");$munich=fread($fa,100);$munich1 = imagecreatefromgif($munich);fclose($fa);//munich tempe min$fa = fopen("url", "r");$munich2=fread($fa,100);imagestring ($im, 4, 290, 580,"$munich2", $colormin);fclose($fa);//munich tempe max$fa = fopen("url", "r");$munich3=fread($fa,100);imagestring ($im, 4,330, 580,"$munich3", $colormax);fclose($fa);//texte de la date$fatxt = fopen("url", "r");$text=fread($fatxt,18000);$textcolor = imagecolorallocate($im, 255, 255, 255);imagestring($im, 5, 5, 100, "$text", $textcolor);imagestring($im, 3, 28, 611, "Générée : $heure", $textcolor);imagecopy ($im, $flensburg1, 200, 50, 0, 0, 60, 60 );imagecopy ($im, $hambourg1, 210, 140, 0, 0, 60, 60 );imagecopy ($im, $breme1, 126, 170, 0, 0, 60, 60 );imagecopy ($im, $rostok1, 324, 100, 0, 0, 60, 60 );imagecopy ($im, $berlin1, 364, 200, 0, 0, 60, 60 );imagecopy ($im, $magdeburg1, 269, 236, 0, 0, 60, 60 );imagecopy ($im, $bielefeld1, 180, 270, 0, 0, 60, 60 );imagecopy ($im, $dieusburg1, 90, 296, 0, 0, 60, 60 );imagecopy ($im, $bonn1, 95, 380, 0, 0, 60, 60 );imagecopy ($im, $offenbach1, 190, 375, 0, 0, 60, 60 );imagecopy ($im, $chemnitz1, 280, 324, 0, 0, 60, 60 );imagecopy ($im, $dresde1, 370, 290, 0, 0, 60, 60 );imagecopy ($im, $nuremberg1, 275, 430, 0, 0, 60, 60 );imagecopy ($im, $stuttgart1, 170, 460, 0, 0, 60, 60 );imagecopy ($im, $munich1, 290, 510, 0, 0, 60, 60 );//copie imageimagepng($im);imagedestroy($im); ?>
rportal Posté 25 Août 2005 Posté 25 Août 2005 Tu as quelque chose dans le fichier d'erreur et le fichier de log de ton serveur web?
Anonymus Posté 25 Août 2005 Posté 25 Août 2005 Là, c'est un script php normal. Je pensais que c'était juste la partie qui générait l'image, qui bloquait. Pour allonger le temps max. d'un script, tu peux utiliser la fonction : set_time_limit($nb_sec); où $nb_sec est le nombre de secondes max. pendant lesquels ton programme peut marcher. (par défaut, c'est 30.. )
destroyedlolo Posté 25 Août 2005 Posté 25 Août 2005 Pour voir pourquoi l'image ne s'affiche pas, c'est simple (enfin, sous FireFox ou sur Netscape car je n'ai pas trouve l'equivalent sur M$-IE). Tu selectionne ton image et tu fais "Afficher l'image" => S'il y a des erreurs, le navigateur les affichera. Si ca ne marche pas, tu fais "Propriete" sur l'image et tu copie l'URL de l'image dans le navigateur. Sinon, dans le meme genre "Information sur la Page", "Media" et tu copie l'URL de l'image correspondante. il faut peut etre aussi virer le header ("Content-type:") avant ...
snwoman49 Posté 25 Août 2005 Auteur Posté 25 Août 2005 Merci pour toutes vos réponses,j'ai pris la solution d'anonymus et ca marche..Merci encore.
petit-ourson Posté 25 Août 2005 Posté 25 Août 2005 Donc si tu avais suivi ma solution, tu aurais vu d'où venait l'erreur ... (car il y avait une erreur)
Anonymus Posté 25 Août 2005 Posté 25 Août 2005 Non, à mon avis, il n'y a pas d'erreurs, il y a juste un script très très long, qui n'a pas le temps de s'executer, à cause du timeout php. Il fait afficher une image, mais.. c'est un leurre un peu comme les scripts de statistiques
petit-ourson Posté 25 Août 2005 Posté 25 Août 2005 bah s'il avait commenté l'envoi de l'image au navigateur, il aurait vu le message d'erreur (le timeout)
minirop Posté 26 Août 2005 Posté 26 Août 2005 tu pourrais faire baisser le temps d'exécution de ton script en mettant un seul couple fopen/fclose
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant