Durée de vie d'un processus en PHP

Da21

Membre confirmé
18 Février 2004
60
0
40
Es-ce qu'un PID à une durée de vie limité et si oui quelles fonctions PHP permettent d'intervenir sur cette durée de vie? :siffle:
 
Il ne me semble pas que PHP crée un nouveau processus afin d'exécuter le script PHP. Je ne vois donc pas quel est ton problème ? Pourrais-tu préciser un peu ? Notamment, qu'est-ce que tu veux faire ?
 
Si c'est le temps d'exécution du script dont tu parles, ça peut se modifier dans le fichier php.ini:
Bloc de code:
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60     ; Maximum amount of time each script may spend parsing request data


A+
 
fissunix a dit:
Si c'est le temps d'exécution du script dont tu parles, ça peut se modifier dans le fichier php.ini:
Bloc de code:
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60     ; Maximum amount of time each script may spend parsing request data


A+


J'ai bien modifier max_execution_time = 30 à 60 dans php.ini mais il me met toujours l'erreur suivante
Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/page.php

il ne va pas jusqu'au 60 secondes

doije modifier autre chose?
 
Da21 a dit:
J'ai bien modifier max_execution_time = 30 à 60 dans php.ini mais il me met toujours l'erreur suivante
Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/page.php

il ne va pas jusqu'au 60 secondes

doije modifier autre chose?


Il fait quoi ton script pour demander autant de temps d'execution ?

@+

Guillaume
 
Bon je relance un peu le sujet car je suis confronté à un problème similaire:

J'ai un script d'envoi de photos, dans un formulaire.
Les photos envoyées font en moyenne entre 2 et 10Mb.

Le temps d'uploader la photo, je suppose qu'il y a un timeout, parce que le script n'est pas exécuté comme il doit. Alors que si je le teste avec des photos plus petites (donc beaucoup plus rapides à envoyer), tout fonctionne comme il faut.

J'ai déjà essayé de placer

Bloc de code:
set_time_limit(1800);
ini_set('max_execution_time', 1800);
ini_set('max_input_time', 1800);

au début du script, mais ça ne fonctionne toujours pas :(

Par contre, c'est un peu bizarre parce qu'il ne me met pas de message d'erreur, je vois juste qu'il n'exécute pas la partie la plus importante du script, à savoir renommer la photo, l'enregistrer dans un dossier, et en créer un thumbnail de 200 pixels.

Le problème viendrait de là?
Dans ce cas je ne comprends pas non plus, puisqu'avec des photos plus petites cela fonctionne sans problème ;-)

Merci de vos lumières,


Aybee



Pour info, voici le script qui traite la photo. Je l'ai repris d'un tutorial et je l'ai adapté, j'ai peut-être (sûrement) fait une connerie ... ?

Bloc de code:
if(!$_FILES['photo1']['tmp_name']=='') {

// Check image size
$img = $_FILES['photo1']['tmp_name'];
$size = getimagesize($img);

$width = $size['0'];
$height = $size['1'];
$ratio = $width / $height;
$resolution = $width * $height;
$size = filesize($img);
$size2 = $size/1024;
$size3 = round($size2/1000, 3);

$min_width = "2000";
$min_size = "1500";

if($width > $min_width && $size2 > $min_size) {
    // Filename => XXXXX_antica1.jpg
    $photo1 = $name . '_antica1.jpg';
    $photo1 = str_replace(' ', '', $photo1);
    
    // Destination => fileupload/XXXX_antica1.jpg
    $destination1 = "../../antica2006/" . str_replace(' ', '', $photo1);
    
    $result = move_uploaded_file($_FILES['photo1']['tmp_name'], $destination1);
    
    $thumb_width = '200';
    $thumb_height = $thumb_width / $ratio;
    
    $thumbnail1 = $name . '_antica1.jpg';
    $thumbnail1 = str_replace(' ', '', $thumbnail1);
    $dest = "../../antica2006_thumbs/" . str_replace(' ', '', $thumbnail1);
    $thumb1 = ImageCreateFromJPEG($destination1);
    $thumb2 = imagecreatetruecolor($thumb_width, $thumb_height);
    imagecopyresampled($thumb2, $thumb1, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height);
    ImageJpeg($thumb2, $dest);
    chmod("$dest", 0777);
}

else {
	$photo_num = 1;
    if($width < $min_width) {
    	$error_width = '1';
    }
    if($size2 < $min_size) {
    	$error_size = '1';
    }
    include('photo_error.php');
    exit;
}

}