Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/07/2011, 12h38   #1
Invité régulier
 
Inscription : juillet 2009
Messages : 33
Détails du profil
Informations personnelles :
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : juillet 2009
Messages : 33
Points : 8
Points : 8
Par défaut max_execution_time ignoré

Bonjour,

Je m'arrache les cheuveux avec cette variable, je n'arrive pas à agir sur celle-ci.

exemple de script :

Code :
1
2
3
4
5
6
7
8
 
<?php
echo ini_get("max_execution_time");//me renvoi 10
 
echo date("d/m/Y H:i:s");
 
while(1){}
?>
Seulement ce script ne finis jamais ! il devrait pourtant s'arrêter au bout de 10 secondes...

Même en faisant un set_time_limit(10) (qui me renvoi true si je le fais) ne change rien.

Une idée ?

-> Serveur mac
-> Apache/2.2.17 (Unix) mod_ssl/2.2.19 OpenSSL/1.0.0d DAV/2 PHP/5.3.6
-> installation avec MacPort
-> Safe_mode de PHP non activé
maximeguyot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 19h30   #2
Membre à l'essai
 
Inscription : octobre 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 102
Points : 24
Points : 24
t'as pas de virtualhost dans ton fichier de conf apache? qui pourrai modifier les valeurs de ton php.ini, fais un phpinfo pour en être sûre... le safe mode etant desactivée je vois pas d'ou pourrai venir le soucis...
aimad41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 11h41   #3
Invité régulier
 
Inscription : juillet 2009
Messages : 33
Détails du profil
Informations personnelles :
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : juillet 2009
Messages : 33
Points : 8
Points : 8
voici un extrait de phpinfo()

Code :
1
2
3
4
5
6
7
8
9
10
 
Directive	Local Value	Master Value
 
max_execution_time	30	30
max_file_uploads	20	20
max_input_nesting_level	64	64
max_input_time		30	30
 
 
safe_mode		Off	Off
maximeguyot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 22h13   #4
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 914
Points : 1 914
Hello,

as tu essayé de changer de version de PHP ?
Car chez moi sa plantes, correctement

Code :
1
2
3
4
5
6
7
8
9
<?php
var_dump( phpversion() );
ini_set("max_execution_time", 10);
echo ini_get("max_execution_time")."\n";//me renvoi 10
 
echo date("d/m/Y H:i:s");
 
while(1){}
?>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/usr/bin/php /home/clement/Documents/www/PhpServer/fdgdf.php
string(16) "5.3.5-1ubuntu7.2"
10
15/07/2011 22:12:03
Fatal error: Maximum execution time of 10 seconds exceeded in /home/clement/Documents/www/PhpServer/fdgdf.php on line 8
 
Call Stack:
    0.0002     323820   1. {main}() /home/clement/Documents/www/PhpServer/fdgdf.php:0
 
PHP Fatal error:  Maximum execution time of 10 seconds exceeded in /home/clement/Documents/www/PhpServer/fdgdf.php on line 8
PHP Stack trace:
PHP   1. {main}() /home/clement/Documents/www/PhpServer/fdgdf.php:0
 
Process finished with exit code 255
a+
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 09h52   #5
Invité régulier
 
Inscription : juillet 2009
Messages : 33
Détails du profil
Informations personnelles :
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : juillet 2009
Messages : 33
Points : 8
Points : 8
J'ai du nouveau ...

J'ai trouvé dans les logs d'apache ceci (plusieurs fois) :

Code :
1
2
 
[Mon Aug 01 13:45:58 2011] [error] [client 192.168.xxx.xxx] PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /opt/local/apache2/htdocs/xxxxx/xx/xxxxxxxx/xxxx.php on line 1044
!!!

Le problème c'est que j'ai quelque fois le processeur qui tourne à fond avec des processus httpd et je n'arrive pas à identifier la boucle infinie qui est en cause (Ce n'est d'ailleur peut etre pas une boucle infinie ?), donc je le kill manuellement.

PS : Il y a un proxy apache (une autre machine) pour accéder à la machine serveur.

Si quelqu'un a une idée, je suis preneur !
maximeguyot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 09h59   #6
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 914
Points : 1 914
Le problème vient peut être plutôt de la gestion des fils httpd par apache lorsque ton script plante.
Vu que tu as l'air d'avoir une archi un peu hors norme.
Pas qu'elle soit exceptionnelle, mais elle sort des sentiers battus.

Moi j'aurais tendance à changer ma façon d'aborder le problème face à une telle situation.

Peut être qu'un pro d'apache pourrait t'aider, mais là je sèche.

a+
bon courage
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 10h00   #7
Invité régulier
 
Inscription : juillet 2009
Messages : 33
Détails du profil
Informations personnelles :
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : juillet 2009
Messages : 33
Points : 8
Points : 8
Encore du nouveau !


J'ai essayé ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
ini_set("max_execution_time", 10);
echo ini_get("max_execution_time")."\n";//me renvoi 10
 
echo date("d/m/Y H:i:s");
 
$monfichier = fopen('compteur.txt', 'r+');
 
while(1){
 
$pages_vues = fgets($monfichier); // On lit la première ligne (nombre de pages vues)
$pages_vues++; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues
 
}
 
fclose($monfichier);
Et ca me donne ca :
Code :
1
2
 
string(5) "5.3.6" 10 02/08/2011 09:58:40 Fatal error: Maximum execution time of 10 seconds exceeded in /opt/local/apache2/htdocs/sycomore.php on line 15
Donc maintenant ce que je recherche, c'est pourquoi le processus httpd tourne à fond sans s'arrêter ...
maximeguyot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h12.


 
 
 
 
Partenaires

Hébergement Web