PHP get_file_contents üzerinde nasıl zaman sınırı belirleyebilirsiniz?

2 Cevap

Zaman zaman get_file_contents çok uzun sürüyor ve tüm komut dosyasını kapatır. Script maksimum yürütme süresini değiştirmeden, get_file_contents üzerinde sınırı bir zaman aşımı ayarı herhangi bir yolu var mı?

Edit:

Dosyası yok çünkü uzun sürüyor. Ben "başarısız akışı açık!: HTTP isteği başarısız oldu" alıyorum hatası. Ama bu sonsuza kadar sürer.

2 Cevap

timeout option ile bir bağlam oluşturarak> 5.2.1 PHP mümkün görünmektedir.

Manuel sayfasından biraz değiştirilmiş bir örnek:

<?php

$opts = array('http' =>
    array(
        'method'  => 'GET',
        'timeout' => 120 
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/get.php', false, $context);

?>

Eğer ini_set kullanımı sayımı ve "default_socket_timeout" file_get_contents ve sonra sonra eski değerini geri kullanmadan önce ayarlayın - kodunuzun diğer bazı bölümlerini etkileyen olsaydı ...