OVH Cloud OVH Cloud

Execution time limit

6 réponses
Avatar
Zendik
Bonjour,

Je voudrais savoir, quand on fait un <? include(toto.php) ?>, lorsque le
script toto.php est exécuté, le temps limite d'execution est-il remis à 0 ou
bien PHP considère-t-il le script contenant l'include et l'include lui-même
comme un seul script.

En espérant avoir été assez clair...

Merci

Zendik

6 réponses

Avatar
Thibaut Allender
Je voudrais savoir, quand on fait un <? include(toto.php) ?>, lorsque le
script toto.php est exécuté, le temps limite d'execution est-il remis à 0 ou
bien PHP considère-t-il le script contenant l'include et l'include lui-même
comme un seul script.


amha, et si j'ai bien compris la doc que je cite ici :

"Note : La fonction set_time_limit() et la directive de configuration
max_execution_time n'affectent que le temps d'exécution du script
lui-même. Tout temps passé en dehors du script, comme un appel système
utilisant system(), des opérations sur les flux, les requêtes sur base
de données, etc. n'est pas pris en compte lors du calcul de la durée
maximale d'exécution du script."

toto.php aura un temps d'execution, qui n'aura pas d'influence sur celui
du script appelant

donc, si la limite est de 30 secondes, on peut avoir:

script principal : 20sec
appel de toto -> arret du timing pour le script principal
toto.php peut mettre 30sec à s'executer
le script principal reprend et peut encore durer 10 secondes

--
thibaut allender | freelance | http://capsule.org

Avatar
Bobe
Thibaut Allender nous a dit le 19.07.2005 22:34:

toto.php aura un temps d'execution, qui n'aura pas d'influence sur celui
du script appelant

donc, si la limite est de 30 secondes, on peut avoir:

script principal : 20sec
appel de toto -> arret du timing pour le script principal
toto.php peut mettre 30sec à s'executer
le script principal reprend et peut encore durer 10 secondes



J'ai un gros doute. Ce serait un comportement complètement incohérent.
Qu'est-ce qui empécherait dans ce cas d'éclater son script en plusieurs
fichiers dans le but de "contourner" la limitation sur le temps
d'exécution ?

--
Aurélien Maille

"la vie d'un geek est un combat perpétuel contre l'imperfection"

Avatar
John GALLET
Bonjour,

Qu'est-ce qui empécherait dans ce cas d'éclater son script en plusieurs
fichiers dans le but de "contourner" la limitation sur le temps
d'exécution ?


A ma connaissance rien. Probablement l'une des raison pour laquelle la
fonction set_time_limit() est désactivée par le safe_mode.

JG

Avatar
Jean-Francois Ortolo
John GALLET wrote:

A ma connaissance rien. Probablement l'une des raison pour laquelle la
fonction set_time_limit() est désactivée par le safe_mode.

JG


Bonjour Monsieur :)

J'ajoute mon grain de sel...

Quelqu'un sur ce newsgroup, m'a dit, il y a quelque temps de celà,
que faire un include() ou un require() , était équivalent ( aux
traitements d'erreurs près ), à avoir le même script dans lequel sont
les include(), etc... mais comportant les instructions des scripts inclus.

Donc, dans cette optique, le temps d'exécution du script inclus, se
compterait donc à partir du départ du script appelant, et ce dernier
mystère, serait donc éclairci...

Bien à vous.

Jean Francois Ortolo

--
Mon site donne des Statistiques
et des Historiques Graphiques gratuits
sur les Courses de Chevaux du PMU.
http://www.ortolojf-courses.com

Avatar
Thibaut Allender
Quelqu'un sur ce newsgroup, m'a dit, il y a quelque temps de celà, que
faire un include() ou un require() , était équivalent ( aux traitements
d'erreurs près ), à avoir le même script dans lequel sont les include(),
etc... mais comportant les instructions des scripts inclus.


En pratique, c'est vrai, mais au niveau de php, qu'est-ce qu'un include
? c'est un appel en dehors du script, un include n'est pas forcément
local, il peut se faire sur un serveur distant, et la doc dit bien :

"Tout temps passé en dehors du script, [...] n'est pas pris en compte
lors du calcul de la durée
maximale d'exécution du script"

include("./file.php") aurait une influence sur le temps d'execution du
script parent, et pas include("http://host/file.php")?
on pourrait contourner le problème en appelant le script à inclure sur
le même domaine via $_SERVER['SERVER_NAME'] dans ce cas

il faudrait tester...

--
thibaut allender | freelance | http://capsule.org

Avatar
loufoque
Zendik a dit le 19/07/2005 à 15:36:

Je voudrais savoir, quand on fait un <? include(toto.php) ?>, lorsque le
script toto.php est exécuté, le temps limite d'execution est-il remis à 0 ou
bien PHP considère-t-il le script contenant l'include et l'include lui-même
comme un seul script.


Il considère le tout comme un seul script, bien évidemment.
Sinon la limite n'aurait pas de sens.

Le temps passé à l'intérieur d'une fonction native n'est pas
comptabilisé, à part exceptions (sleep etc.).