J'inclus une classe locale qui demande un fichier à partir d'un serveur distant. Ce processus est plutôt peu fiable car le serveur distant est souvent surchargé — et il m'arrive parfois d'attendre 20 secondes avant que l'inclusion n'abandonne et continue.Comment puis-je limiter la durée d'attente d'un résultat par PHP?
Je voudrais avoir une limite sur le temps d'exécution du script inclus; dis, cinq secondes.
Code actuel:
include('siteclass.class.php');
Mise à jour:
Mon code dans la classe:
$movie = str_replace(" ","+",$movie);
$string = join('',file($siteurl.$l.'/moviename-'.$movie));
if(!$i) { static $i = 1;}
if($file_array = $string)
{
$result = Return_Substrings($file_array, '<item>', '</item>');
foreach($result as $res) {
C'est essentiellement cela, pour autant que le chargement va. Le traitement interne prend environ 0,1 s. Je suppose que c'est assez faisable.
C'est étrange si vous avez un script qui peut parfois se passer d'une classe externe. Je veux dire soit l'utiliser toujours ou jamais. 20 secondes est beaucoup trop lent. Je pense que vous devriez repenser votre logiciel. –
Quel code exécute réellement la requête? Si vous utilisez cURL par exemple, vous pouvez définir un délai d'attente et gérer l'erreur. – Kekoa