file_get_contents caka na ukoncenie spojenia

aeqwqeq

file_get_contents caka na ukoncenie spojenia
« kdy: 11. 08. 2018, 13:20:52 »
Zdravim,

cez file_get_contents nasa webova aplikacia stahuje data zo vzdialenych serverov. Jeden zo zdrojov je problematicky. Data sa stiahnu v podstate okamzite ale ukoncenie spojenia nikdy neprebehne. Musi nastat az timeout (60s) aby spojenie bolo ukoncene.

Co to moze sposobovat? Predpokladam chybu na druhej strane. Ale cez wget/curl to bezproblemov funguje.



aeqwqeq

Re:file_get_contents caka na ukoncenie spojenia
« Odpověď #1 kdy: 11. 08. 2018, 13:21:15 »

Kit

Re:file_get_contents caka na ukoncenie spojenia
« Odpověď #2 kdy: 11. 08. 2018, 13:52:42 »
Tak použij modul Curl, pokud ti nevyhovují bohaté možnosti nastavení file_get_contents() přes stream_context_create().

Papi

Re:file_get_contents caka na ukoncenie spojenia
« Odpověď #3 kdy: 11. 08. 2018, 19:13:31 »
Doporučuji použít GuzzleHttp. Osobně celkem pěním, když vidím, že file_get_contents něco tahá ze vzdáleného serveru.

Kit

Re:file_get_contents caka na ukoncenie spojenia
« Odpověď #4 kdy: 12. 08. 2018, 13:45:00 »
Doporučuji použít GuzzleHttp. Osobně celkem pěním, když vidím, že file_get_contents něco tahá ze vzdáleného serveru.

Guzzle používá Curl, kterému stačí nastavit správné parametry.


Re:file_get_contents caka na ukoncenie spojenia
« Odpověď #5 kdy: 12. 08. 2018, 22:37:16 »

Kit

Re:file_get_contents caka na ukoncenie spojenia
« Odpověď #6 kdy: 13. 08. 2018, 03:14:36 »
Pokud by příčinou byl Keep-Alive, zkusil bych tohle:
Kód: [Vybrat]
<?php
$context 
stream_context_create([
    
'http' => [
        
'protocol_version' => 1.1,
        
'header' => [
            
'Connection: close',
        ],
    ],
]);
$data file_get_contents('https://www.example.com/'null$context);