# Comment éviter qu'apache ne re-exécute un script php ?

**URL:** <https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620>\
**Category:** Programmation\
**Tags:** apache\
**Created:** [Janvier 12, 2018, 1:41 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620 "2018-01-12T13:41:04Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![nimant](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nimant](https://www.debian-fr.org/u/nimant)\
**Post date:** [Janvier 12, 2018, 1:41 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620/1 "2018-01-12T13:41:05Z")

</div>

certains de mes scripts php se re-exécutent !  
Il semble que ceci soit du à un temps d’exécution dépassant 60 secondes.  
(en effet, sur un autre ordinateur le même programme se déroule normalement)

où se trouve ce paramètre d’apache qui gère ce comportement ?

Merci.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Janvier 12, 2018, 2:22 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620/2 "2018-01-12T14:22:51Z")

</div>

Jamais entendu dire qu’un timeout relançait une tâche, au contraire, ça la coupe.

> [@nimant](#):
>
> sur un autre ordinateur

Tu parles de quoi ? Un apache différent ? Un serveur avec plus de mémoire ?

Pourrais tu être plus précis quand au type de script, à la raison qui te fait dire que c’est relancé, etc ?

---

<div class="post-metadata">

**Author:** ![nimant](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nimant](https://www.debian-fr.org/u/nimant)\
**Post date:** [Janvier 12, 2018, 3:53 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620/3 "2018-01-12T15:53:41Z")

</div>

> [@mattotop](#):
>
> Tu parles de quoi ? Un apache différent ? Un serveur avec plus de mémoire ?
> 
> Pourrais tu être plus précis quand au type de script, à la raison qui te fait dire que c’est relancé, etc ?

1. c’est un script php ordinaire, lancé par un formulaire html.  
le script s’exécute une fois, puis une deuxième fois sans raison apparente, c’est très étrange.  
J’ai trouvé cela sur le net :  
[https://stackoverflow.com/questions/13261327/php-script-executes-twice-when-longer-than-60-seconds](https://stackoverflow.com/questions/13261327/php-script-executes-twice-when-longer-than-60-seconds)

2. le deuxième ordinateur est un serveur mutualisé OVH où la version d’apache est P HP Version 5.6.31 (chez moi : PHP Version 5.4.45-0+deb7u2)

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Janvier 12, 2018, 4:22 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620/4 "2018-01-12T16:22:16Z")

</div>

> [@nimant](#):
>
> script s’exécute une fois, puis une deuxième fois

OK.  
Ma question est plus précisément: à quoi le vois tu chez toi ?  
Dans l’exemple que tu cites, le type constate que son script s’execute 2 fois \>et\< il y a la trace de 2 requêtes dans son access.log.  
Si c’est pareil chez toi avec deux accés à 1min d’écart, ça veut dire que ce n’est pas php qui execute deux fois le script, mais qu’il y a quelque chose qui fait faire deux fois la requête au client (ça le fait avec tous les navigateurs d’ailleurs ?).

Un test: tu reprends le test.php du gars en faisant des print à la place des appels error\_log, et si je ne me trompe pas, tu devrais avoir à l’affichage une seule execution dans la page affichée, malgré la trace des deux executions.

Alors par contre, qu’est ce qui cause ça ?

---

<div class="post-metadata">

**Author:** ![nimant](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nimant](https://www.debian-fr.org/u/nimant)\
**Post date:** [Janvier 12, 2018, 5:26 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620/5 "2018-01-12T17:26:53Z")

</div>

> [@mattotop](#):
>
> (ça le fait avec tous les navigateurs d’ailleurs ?).

Bonne question : c’est Firefox qui produit cela avec localhost, mais pas avec le serveur sur Ovh  
avec Opera c’est correct avec localhost

j’ai mis les paramètres de php.ini d’Ovh chez moi : cela ne change rien.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Janvier 13, 2018, 9:32 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620/6 "2018-01-13T09:32:31Z")

</div>

> [@nimant](#):
>
> c’est Firefox

Il y a un truc avec firefox: [Client Challenge](https://support.mozilla.org/en-US/questions/922783)

Toujours aucune idée sur comment régler le probléme, mais tu peux peut être le contourner:  
tu calcule une signature du client (ip+ua ?) à chaque appel du script, et tu n’executesle script que si le client ne l’a jamais exécuté.  
Tu peux même «&nbsp;cacher&nbsp;» le résultat de ton script dans un fichier nommé avec la signature du client, et tu resert le contenu du cache si c’est le même client.

---

<div class="post-metadata">

**Author:** ![nimant](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nimant](https://www.debian-fr.org/u/nimant)\
**Post date:** [Janvier 13, 2018, 5:15 UTC](https://www.debian-fr.org/t/comment-eviter-quapache-ne-re-execute-un-script-php/75620/7 "2018-01-13T17:15:06Z")

</div>

J’ai trouvé une solution que je ne comprends pas : il suffit d’enlever les commentaires des pages html !!!  
Mais alors pourquoi le même Firefox se comporte-t-il normalement si le html est généré depuis un serveur Ovh ?  
Le net est rempli d’exemples très divers de ce comportement bizarre de Firefox.

Merci pour votre aide.
