IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

script qui s'arrête en plein milieu [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Points : 151
    Points
    151
    Par défaut script qui s'arrête en plein milieu
    bonjour,

    je suis en pleine phase de mise en ligne d'un site sur un serveur distant (serveur UNIX, Apache avec PHP5, Mysql 4 )

    J'essaye d'exécuter un script relativement lourd qui a pour tâche de copier, redimensionner & rééchantillonner des images dans des dossiers utilisateurs, avec une personnalisation automatique à partir de champs variables, etc. Bref, une belle usine à gaz.

    Tout ça marche très bien en local, mais dès que je migre, hop, cet énorme script (qui est la pierre angulaire du site) s'arrête en plein milieu, comme ça.

    Je m'explique :

    Etant donné que le script réalise des calculs relativement complexes de transformation graphique de texte et d'images (HTML -> GD -> PDF), je fais des echos un peu partout dedans pour voir si ça plante pas et pour vérifier les calculs réalisés en cas d'erreur. tout ceci s'affiche lors de l'execution et normalement je suis content (youpi). Mais là je suis pas content (bouuuu) parce que l'affichage s'interrompt de façon incongrue en plein milieu d'un echo.

    Le moment où ça s'arrête et change à chaque fois (ce qui me fait penser que ça ne vient pas du code, qui du reste tourne très bien).

    Genre au lieu de m'afficher "ligne n°2 complète" et de continuer, et bien il m'affiche "ligne n°2 compl" et s'arrête net.

    Et là je suis triste.

    J'ai donc pensé que ça venait du max_execution_time, mais celui-ci est à 30s, donc à priori non (l'erreur intervient rapidement).

    Peut être que ça vient du flot de données géré par mon script qui est trop volumineux (manipulation d'images, calculs, etc.) ?

    d'un autre timeout que je ne connaitrais pas ?

    Bref, j'ai besoin de votre aide.

    Merci d'avance pour les réponses et merci tout court pour avoir tout lu

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Points : 151
    Points
    151
    Par défaut
    je sais que c'est long à lire mais celui qui me donnera la réponse aura un bisou virtuel !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Je suppose que tu as été faire un tour dans les logs d'apache?

    Sinon, aucune erreur PHP affichée?
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  4. #4
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    tu as quand meme essayer un st_time_limit au cas ou ?

    Sinon, c un peu difficile a voir comme ca.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Points : 151
    Points
    151
    Par défaut
    - pas d'erreur PHP affichée
    - j'ai pas accès au log d'apache qui est géré par l'hébergeur
    - j'ai essayé le set_time_limit(), mais la fonction est bloquér par l'hébergeur, et de toutes façons je doute que ce soit ça, vu qu'il est à 30 s, ce qui est beaucoup, et que j'ai la même chose en local.

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Points : 151
    Points
    151
    Par défaut
    après long coup de fil à l'admin de mon serveur, on est pas plus avancé. Le log apache ne donne AUCUNE erreur, ne dit pas qu'un quelconque quota est dépassé...ni une erreur de code...

    mouarf. Si quelqu'un a une idée...

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Je suppose également que tu as mis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    pour dégoguer.

    Deux idées qui me viennent:
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  8. #8
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Points : 151
    Points
    151
    Par défaut
    Après une longue recherche, j'ai trouvé d'où venait le problème :



    En fait, c’est un point de détail. Il s’agit de la fonction imagefill() de GD qui permet de remplir une image avec une couleur.



    J’utilisais celle-ci dans mon programme couplée à une couleur transparente (resultat de imagecolorallocatealpha() ) pour créer des calques transparents.



    Or imagefill() ne gère plus la transparence depuis gd 2.0.15 (d’après la documentation) donc voilà ce qui à priori bloquait mon script…



    J’ai contourné le problème (bon j’en ai d’autres…) mais je reste étonné par deux choses :



    1 – en local, ma version de GD est 2.0.28 et je n’ai pas cet arrêt inopiné

    2 – Pourquoi cela ne provoque t’il pas une erreur ??



    Toujours est il que cette un problème résolu.


    En tout cas merci quand même pour les idées, c'est sympa

    De toutes façons, j'ai plein d'autres problèmes, donc je vous dis pas au revoir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Ruby] While qui s'arrête en plein milieu
    Par _aix_ dans le forum Ruby
    Réponses: 5
    Dernier message: 03/06/2011, 23h02
  2. [MySQL] problème de script qui s'arrête avant la fin
    Par sorciervoyageur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/05/2009, 10h19
  3. [MySQL] Script php avec insertion dans base de données qui s'arrête tout seul
    Par tofito dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 04/12/2008, 21h39
  4. [Conception] le traitement php s'arrête en plein milieu.
    Par renaudjuif dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/06/2007, 21h17
  5. Script qui s'arrète !! Comment faire autrement ?
    Par Xplosif² dans le forum C++
    Réponses: 5
    Dernier message: 25/02/2006, 22h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo