J'utilise EasyPHP pour traiter une grosse base de données (autour
de 200 000 enregistrements).
Pour une raison pratique, j'ai conservé la limite par défaut de 30
secondes pour l'exécution d'un script PHP. En gros, durant le
développement, j'aime voir ce qui sort du script. De plus, je
suppose que peu importe la limite, je finirai par l'atteindre sans
m'en apercevoir. Peu importe la raison, j'ai cette limite de 30
secondes par script.
Jusqu'à présent, je traite un certain nombre de lignes, en
conservant un pointeur vers la dernière ligne traitée, puis je
recommence où je suis rendu. Pour être certain de ne rien
perdre, je permets de doubler le dernier enregistrement ajouté
à la base de données transformées. Par exemple, j'ai ajouté
"ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la
ligne du script PHP où l'erreur est survenue (où le 30 secondes
a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jacfev
La valeur par défaut (30 secondes) peut être changée par la directive de configuration max_execution_time de php.ini. jacfev.
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour de 200 000 enregistrements).
Pour une raison pratique, j'ai conservé la limite par défaut de 30 secondes pour l'exécution d'un script PHP. En gros, durant le développement, j'aime voir ce qui sort du script. De plus, je suppose que peu importe la limite, je finirai par l'atteindre sans m'en apercevoir. Peu importe la raison, j'ai cette limite de 30 secondes par script.
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Denis
La valeur par défaut (30 secondes) peut être changée par la directive de
configuration max_execution_time de php.ini.
jacfev.
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour
de 200 000 enregistrements).
Pour une raison pratique, j'ai conservé la limite par défaut de 30
secondes pour l'exécution d'un script PHP. En gros, durant le
développement, j'aime voir ce qui sort du script. De plus, je
suppose que peu importe la limite, je finirai par l'atteindre sans
m'en apercevoir. Peu importe la raison, j'ai cette limite de 30
secondes par script.
Jusqu'à présent, je traite un certain nombre de lignes, en
conservant un pointeur vers la dernière ligne traitée, puis je
recommence où je suis rendu. Pour être certain de ne rien
perdre, je permets de doubler le dernier enregistrement ajouté
à la base de données transformées. Par exemple, j'ai ajouté
"ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la
ligne du script PHP où l'erreur est survenue (où le 30 secondes
a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
La valeur par défaut (30 secondes) peut être changée par la directive de configuration max_execution_time de php.ini. jacfev.
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour de 200 000 enregistrements).
Pour une raison pratique, j'ai conservé la limite par défaut de 30 secondes pour l'exécution d'un script PHP. En gros, durant le développement, j'aime voir ce qui sort du script. De plus, je suppose que peu importe la limite, je finirai par l'atteindre sans m'en apercevoir. Peu importe la raison, j'ai cette limite de 30 secondes par script.
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Denis
Pascal Poncet
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
Bonsoir,
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Si j'ai bien compris ta question, voir la deuxième note sur ce lien : http://fr2.php.net/manual/fr/function.set-time-limit.php
-- Cordialement, Pascal
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
Bonsoir,
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Si j'ai bien compris ta question, voir la deuxième note sur ce lien :
http://fr2.php.net/manual/fr/function.set-time-limit.php
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Si j'ai bien compris ta question, voir la deuxième note sur ce lien : http://fr2.php.net/manual/fr/function.set-time-limit.php
-- Cordialement, Pascal
Fredchou
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je ne réponds pas directement à ta question (comme les autres d'ailleurs !). Mais j'ai eu le même problème que toi par le passé.
Un conseil : teste dans ta boucle le temps écoulé depuis le début du script (avec la fonction time ou microtime) afin d'arrêter ton traitement avant la "mort" du processus PHP (par exemple au bout de 25 secondes si ta limite est à 30 secondes). Comme ça, ça t'évitera d'être dans un état "indéterminé" lorsque ton script s'arrêtera.
Ensuite, utilise une redirection vers la même page avec la balise <meta http-equiv="refresh"> et comme paramètre le dernier enregistrement traité pour relancer automatiquement le script et continuer là où il s'était arrêté.
J'espère que ça t'aidera... -- Fredchou mailto:
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Jusqu'à présent, je traite un certain nombre de lignes, en
conservant un pointeur vers la dernière ligne traitée, puis je
recommence où je suis rendu. Pour être certain de ne rien
perdre, je permets de doubler le dernier enregistrement ajouté
à la base de données transformées. Par exemple, j'ai ajouté
"ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la
ligne du script PHP où l'erreur est survenue (où le 30 secondes
a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Je ne réponds pas directement à ta question (comme les autres d'ailleurs
!). Mais j'ai eu le même problème que toi par le passé.
Un conseil : teste dans ta boucle le temps écoulé depuis le début du
script (avec la fonction time ou microtime) afin d'arrêter ton
traitement avant la "mort" du processus PHP (par exemple au bout de 25
secondes si ta limite est à 30 secondes). Comme ça, ça t'évitera d'être
dans un état "indéterminé" lorsque ton script s'arrêtera.
Ensuite, utilise une redirection vers la même page avec la balise <meta
http-equiv="refresh"> et comme paramètre le dernier enregistrement
traité pour relancer automatiquement le script et continuer là où il
s'était arrêté.
J'espère que ça t'aidera...
--
Fredchou
mailto:fredchou@nospam.free.fr.invalid
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je ne réponds pas directement à ta question (comme les autres d'ailleurs !). Mais j'ai eu le même problème que toi par le passé.
Un conseil : teste dans ta boucle le temps écoulé depuis le début du script (avec la fonction time ou microtime) afin d'arrêter ton traitement avant la "mort" du processus PHP (par exemple au bout de 25 secondes si ta limite est à 30 secondes). Comme ça, ça t'évitera d'être dans un état "indéterminé" lorsque ton script s'arrêtera.
Ensuite, utilise une redirection vers la même page avec la balise <meta http-equiv="refresh"> et comme paramètre le dernier enregistrement traité pour relancer automatiquement le script et continuer là où il s'était arrêté.
J'espère que ça t'aidera... -- Fredchou mailto:
Denis Beauregard
Le Fri, 20 Jan 2012 17:38:05 +0100, jacfev écrivait dans fr.comp.lang.php:
La valeur par défaut (30 secondes) peut être changée par la directive de configuration max_execution_time de php.ini.
Comme indiqué dans mon message, je connais ce truc qui ne résoud pas mon problème...
jacfev.
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour de 200 000 enregistrements).
Pour une raison pratique, j'ai conservé la limite par défaut de 30 secondes pour l'exécution d'un script PHP. En gros, durant le
Si j'ai conservé cette limite, c'est que je sais comment la changer.
Denis
développement, j'aime voir ce qui sort du script. De plus, je suppose que peu importe la limite, je finirai par l'atteindre sans m'en apercevoir. Peu importe la raison, j'ai cette limite de 30 secondes par script.
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Denis
Le Fri, 20 Jan 2012 17:38:05 +0100, jacfev <jacfev@free.fr> écrivait
dans fr.comp.lang.php:
La valeur par défaut (30 secondes) peut être changée par la directive de
configuration max_execution_time de php.ini.
Comme indiqué dans mon message, je connais ce truc qui ne résoud
pas mon problème...
jacfev.
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour
de 200 000 enregistrements).
Pour une raison pratique, j'ai conservé la limite par défaut de 30
secondes pour l'exécution d'un script PHP. En gros, durant le
Si j'ai conservé cette limite, c'est que je sais comment la changer.
Denis
développement, j'aime voir ce qui sort du script. De plus, je
suppose que peu importe la limite, je finirai par l'atteindre sans
m'en apercevoir. Peu importe la raison, j'ai cette limite de 30
secondes par script.
Jusqu'à présent, je traite un certain nombre de lignes, en
conservant un pointeur vers la dernière ligne traitée, puis je
recommence où je suis rendu. Pour être certain de ne rien
perdre, je permets de doubler le dernier enregistrement ajouté
à la base de données transformées. Par exemple, j'ai ajouté
"ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la
ligne du script PHP où l'erreur est survenue (où le 30 secondes
a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Le Fri, 20 Jan 2012 17:38:05 +0100, jacfev écrivait dans fr.comp.lang.php:
La valeur par défaut (30 secondes) peut être changée par la directive de configuration max_execution_time de php.ini.
Comme indiqué dans mon message, je connais ce truc qui ne résoud pas mon problème...
jacfev.
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour de 200 000 enregistrements).
Pour une raison pratique, j'ai conservé la limite par défaut de 30 secondes pour l'exécution d'un script PHP. En gros, durant le
Si j'ai conservé cette limite, c'est que je sais comment la changer.
Denis
développement, j'aime voir ce qui sort du script. De plus, je suppose que peu importe la limite, je finirai par l'atteindre sans m'en apercevoir. Peu importe la raison, j'ai cette limite de 30 secondes par script.
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Denis
Denis Beauregard
Le Sun, 22 Jan 2012 14:56:31 +0100, Fredchou écrivait dans fr.comp.lang.php:
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je ne réponds pas directement à ta question (comme les autres d'ailleurs !). Mais j'ai eu le même problème que toi par le passé.
Un conseil : teste dans ta boucle le temps écoulé depuis le début du script (avec la fonction time ou microtime) afin d'arrêter ton traitement avant la "mort" du processus PHP (par exemple au bout de 25 secondes si ta limite est à 30 secondes). Comme ça, ça t'évitera d'être dans un état "indéterminé" lorsque ton script s'arrêtera.
Ensuite, utilise une redirection vers la même page avec la balise <meta http-equiv="refresh"> et comme paramètre le dernier enregistrement traité pour relancer automatiquement le script et continuer là où il s'était arrêté.
J'espère que ça t'aidera...
Merci du truc. Oui, c'est une bonne idée et je vais explorer cette piste.
En passant, j'utilisais déjà la meta suggérée. Le hic est bien sûr que le script pourrait se terminer au mauvais moment.
Denis
Le Sun, 22 Jan 2012 14:56:31 +0100, Fredchou
<fredchou@nospam.free.fr.invalid> écrivait dans fr.comp.lang.php:
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Jusqu'à présent, je traite un certain nombre de lignes, en
conservant un pointeur vers la dernière ligne traitée, puis je
recommence où je suis rendu. Pour être certain de ne rien
perdre, je permets de doubler le dernier enregistrement ajouté
à la base de données transformées. Par exemple, j'ai ajouté
"ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la
ligne du script PHP où l'erreur est survenue (où le 30 secondes
a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Je ne réponds pas directement à ta question (comme les autres d'ailleurs
!). Mais j'ai eu le même problème que toi par le passé.
Un conseil : teste dans ta boucle le temps écoulé depuis le début du
script (avec la fonction time ou microtime) afin d'arrêter ton
traitement avant la "mort" du processus PHP (par exemple au bout de 25
secondes si ta limite est à 30 secondes). Comme ça, ça t'évitera d'être
dans un état "indéterminé" lorsque ton script s'arrêtera.
Ensuite, utilise une redirection vers la même page avec la balise <meta
http-equiv="refresh"> et comme paramètre le dernier enregistrement
traité pour relancer automatiquement le script et continuer là où il
s'était arrêté.
J'espère que ça t'aidera...
Merci du truc. Oui, c'est une bonne idée et je vais explorer cette
piste.
En passant, j'utilisais déjà la meta suggérée. Le hic est bien sûr que
le script pourrait se terminer au mauvais moment.
Le Sun, 22 Jan 2012 14:56:31 +0100, Fredchou écrivait dans fr.comp.lang.php:
Le 20/01/2012 17:21, Denis Beauregard a écrit :
Jusqu'à présent, je traite un certain nombre de lignes, en conservant un pointeur vers la dernière ligne traitée, puis je recommence où je suis rendu. Pour être certain de ne rien perdre, je permets de doubler le dernier enregistrement ajouté à la base de données transformées. Par exemple, j'ai ajouté "ON DUPLICATE KEY UPDATE" à ces requêtes mySQL.
À tous les 30 secondes, il y a un message d'erreur et je vois la ligne du script PHP où l'erreur est survenue (où le 30 secondes a été atteint). Je n'ai jamais vu de ligne SQL, seulement PHP.
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je ne réponds pas directement à ta question (comme les autres d'ailleurs !). Mais j'ai eu le même problème que toi par le passé.
Un conseil : teste dans ta boucle le temps écoulé depuis le début du script (avec la fonction time ou microtime) afin d'arrêter ton traitement avant la "mort" du processus PHP (par exemple au bout de 25 secondes si ta limite est à 30 secondes). Comme ça, ça t'évitera d'être dans un état "indéterminé" lorsque ton script s'arrêtera.
Ensuite, utilise une redirection vers la même page avec la balise <meta http-equiv="refresh"> et comme paramètre le dernier enregistrement traité pour relancer automatiquement le script et continuer là où il s'était arrêté.
J'espère que ça t'aidera...
Merci du truc. Oui, c'est une bonne idée et je vais explorer cette piste.
En passant, j'utilisais déjà la meta suggérée. Le hic est bien sûr que le script pourrait se terminer au mauvais moment.
Denis
Denis Beauregard
Le Fri, 20 Jan 2012 11:21:19 -0500, Denis Beauregard écrivait dans fr.comp.lang.php:
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour de 200 000 enregistrements).
...
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
J'ai fait un script où l'erreur de temps (time out) arrivait presque toujours 1 ligne après le principal énoncé SQL. Donc, j'en conclus que la limite ne s'applique qu'au PHP et pas aux énoncés mySQL. C'est d'ailleurs logique car cela signifie tout simplement que c'est le PHP qui a une limite et qui la vérifie et non mySQL qui est une application indépendante, du moins à partir de PHP 5.
Donc, un énoncé mySQL ne sera pas interrompu par la limite de 30 secondes par défaut.
Denis
Le Fri, 20 Jan 2012 11:21:19 -0500, Denis Beauregard
<denis.b-at-francogene.com.invalid@nospam.com.invalid> écrivait dans
fr.comp.lang.php:
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour
de 200 000 enregistrements).
...
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
J'ai fait un script où l'erreur de temps (time out) arrivait presque
toujours 1 ligne après le principal énoncé SQL. Donc, j'en conclus que
la limite ne s'applique qu'au PHP et pas aux énoncés mySQL. C'est
d'ailleurs logique car cela signifie tout simplement que c'est le PHP
qui a une limite et qui la vérifie et non mySQL qui est une
application indépendante, du moins à partir de PHP 5.
Donc, un énoncé mySQL ne sera pas interrompu par la limite de 30
secondes par défaut.
Le Fri, 20 Jan 2012 11:21:19 -0500, Denis Beauregard écrivait dans fr.comp.lang.php:
Bonjour,
J'utilise EasyPHP pour traiter une grosse base de données (autour de 200 000 enregistrements).
...
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
J'ai fait un script où l'erreur de temps (time out) arrivait presque toujours 1 ligne après le principal énoncé SQL. Donc, j'en conclus que la limite ne s'applique qu'au PHP et pas aux énoncés mySQL. C'est d'ailleurs logique car cela signifie tout simplement que c'est le PHP qui a une limite et qui la vérifie et non mySQL qui est une application indépendante, du moins à partir de PHP 5.
Donc, un énoncé mySQL ne sera pas interrompu par la limite de 30 secondes par défaut.
Denis
Olivier Miakinen
Bonjour,
Le 08/02/2012 01:24, Denis Beauregard a écrit :
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
Seulement maintenant ? Ça veut dire que tu n'as pas dû recevoir la réponse que t'avait faite Pascal Poncet le 20 janvier.
Il écrivait : <cit. <jfc5su$r84$ Si j'ai bien compris ta question, voir la deuxième note sur ce lien : http://fr2.php.net/manual/fr/function.set-time-limit.php </cit.>
Cordialement, -- Olivier Miakinen
Bonjour,
Le 08/02/2012 01:24, Denis Beauregard a écrit :
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
Seulement maintenant ? Ça veut dire que tu n'as pas dû recevoir la
réponse que t'avait faite Pascal Poncet le 20 janvier.
Il écrivait :
<cit. <jfc5su$r84$1@speranza.aioe.org>>
Si j'ai bien compris ta question, voir la deuxième note sur ce lien :
http://fr2.php.net/manual/fr/function.set-time-limit.php
</cit.>
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
Seulement maintenant ? Ça veut dire que tu n'as pas dû recevoir la réponse que t'avait faite Pascal Poncet le 20 janvier.
Il écrivait : <cit. <jfc5su$r84$ Si j'ai bien compris ta question, voir la deuxième note sur ce lien : http://fr2.php.net/manual/fr/function.set-time-limit.php </cit.>
Cordialement, -- Olivier Miakinen
Denis Beauregard
Le Wed, 08 Feb 2012 17:03:05 +0100, Olivier Miakinen <om+ écrivait dans fr.comp.lang.php:
Bonjour,
Le 08/02/2012 01:24, Denis Beauregard a écrit :
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
Seulement maintenant ? Ça veut dire que tu n'as pas dû recevoir la réponse que t'avait faite Pascal Poncet le 20 janvier.
Oui, j'ai lu sa réponse, mais une partie seulement du lien. J'avais retenu surtout que je pouvais prolonger la durée d'un script (puisque c'est le but de la fonction décrite). Mais je viens de relire et effectivement, on y dit que seule la partie PHP peut être interrompue.
Cette phrase toutefois m'a demandé un peu de réflexion :
::Ceci est faux sous Windows où le temps mesuré est le temps réel.
Je comprends cela comme "sous Windows, le 30 secondes est celui depuis le départ du script, sans tenir compte des fonctions hors-PHP comme le SQL ou les énoncés system()". C'est en lisant ce qu'on dit sur Linux que je fais cette nuance car sinon, dans un premier temps, je croyais que cela voulait dire que sous Windows, le 30 secondes arrête "après 30 secondes" et non après 30 secondes et le retour au PHP si on est dans une fonction autre comme SQL ou un énoncé system()". Comme je n'ai pas vu d'énoncé SQL interrompu, je conclus que l'interruption arrive seulement durant la partie PHP.
Denis
Il écrivait : <cit. <jfc5su$r84$ Si j'ai bien compris ta question, voir la deuxième note sur ce lien : http://fr2.php.net/manual/fr/function.set-time-limit.php </cit.>
Cordialement,
Le Wed, 08 Feb 2012 17:03:05 +0100, Olivier Miakinen
<om+news@miakinen.net> écrivait dans fr.comp.lang.php:
Bonjour,
Le 08/02/2012 01:24, Denis Beauregard a écrit :
Ma question : est-ce que le 30 secondes est limité au script PHP
et donc si je place un énonce SQL long (comme plusieurs insertions
ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
Seulement maintenant ? Ça veut dire que tu n'as pas dû recevoir la
réponse que t'avait faite Pascal Poncet le 20 janvier.
Oui, j'ai lu sa réponse, mais une partie seulement du lien. J'avais
retenu surtout que je pouvais prolonger la durée d'un script (puisque
c'est le but de la fonction décrite). Mais je viens de relire et
effectivement, on y dit que seule la partie PHP peut être interrompue.
Cette phrase toutefois m'a demandé un peu de réflexion :
::Ceci est faux sous Windows où le temps mesuré est le temps réel.
Je comprends cela comme "sous Windows, le 30 secondes est celui depuis
le départ du script, sans tenir compte des fonctions hors-PHP comme le
SQL ou les énoncés system()". C'est en lisant ce qu'on dit sur Linux
que je fais cette nuance car sinon, dans un premier temps, je croyais
que cela voulait dire que sous Windows, le 30 secondes arrête "après
30 secondes" et non après 30 secondes et le retour au PHP si on est
dans une fonction autre comme SQL ou un énoncé system()". Comme je
n'ai pas vu d'énoncé SQL interrompu, je conclus que l'interruption
arrive seulement durant la partie PHP.
Denis
Il écrivait :
<cit. <jfc5su$r84$1@speranza.aioe.org>>
Si j'ai bien compris ta question, voir la deuxième note sur ce lien :
http://fr2.php.net/manual/fr/function.set-time-limit.php
</cit.>
Le Wed, 08 Feb 2012 17:03:05 +0100, Olivier Miakinen <om+ écrivait dans fr.comp.lang.php:
Bonjour,
Le 08/02/2012 01:24, Denis Beauregard a écrit :
Ma question : est-ce que le 30 secondes est limité au script PHP et donc si je place un énonce SQL long (comme plusieurs insertions ou un tri), est-ce que l'énoncé SQL peut planter ?
Je pense avoir trouvé la réponse.
Seulement maintenant ? Ça veut dire que tu n'as pas dû recevoir la réponse que t'avait faite Pascal Poncet le 20 janvier.
Oui, j'ai lu sa réponse, mais une partie seulement du lien. J'avais retenu surtout que je pouvais prolonger la durée d'un script (puisque c'est le but de la fonction décrite). Mais je viens de relire et effectivement, on y dit que seule la partie PHP peut être interrompue.
Cette phrase toutefois m'a demandé un peu de réflexion :
::Ceci est faux sous Windows où le temps mesuré est le temps réel.
Je comprends cela comme "sous Windows, le 30 secondes est celui depuis le départ du script, sans tenir compte des fonctions hors-PHP comme le SQL ou les énoncés system()". C'est en lisant ce qu'on dit sur Linux que je fais cette nuance car sinon, dans un premier temps, je croyais que cela voulait dire que sous Windows, le 30 secondes arrête "après 30 secondes" et non après 30 secondes et le retour au PHP si on est dans une fonction autre comme SQL ou un énoncé system()". Comme je n'ai pas vu d'énoncé SQL interrompu, je conclus que l'interruption arrive seulement durant la partie PHP.
Denis
Il écrivait : <cit. <jfc5su$r84$ Si j'ai bien compris ta question, voir la deuxième note sur ce lien : http://fr2.php.net/manual/fr/function.set-time-limit.php </cit.>