Ik heb een probleem.
Doormiddel van het file_get_contents commando haal ik informatie op van een externe website.
Omdat ik een virtual domain name nodig heb kan ik geen IP nummer gebruiken.
Maar , zodra de server waar dit op draait de DNS even kwijt is , of de website virtualhost.domain.com down is duurt het >45 seconden voordat hij time-out geeft.
(Met achterliggende gevolg dat de rest van de website stil staat .... en het lijkt alsof de website waar het script op uitgevoerd wordt dood is)
Eigenlijk wil ik dit verkorten naar 2 seconden. Simpel dacht ik , ik kijk even in de manual. Maar je raadt het al.. de opties die omschreven staan werken niet
(Of ik hanteer ze verkeerd?
Ik vond deze funktie
socket_set_timeout -- Alias of stream_set_timeout()
Ik heb bovenstaande voorbeeld als volgt gebruikt :
Maar dit werkt dus niet. De alias ook niet. Ik ben gebonden aan de file_get_contents funktie. Dus ik kan geen fsockopen gebruiken (daar het achterliggende programma dan op de schop moet)
Iemand een ideetje?
Doormiddel van het file_get_contents commando haal ik informatie op van een externe website.
Omdat ik een virtual domain name nodig heb kan ik geen IP nummer gebruiken.
PHP:
1
2
| $site = "http://virtualhost.domain.com/information.php"; $string = @file_get_contents($site); |
Maar , zodra de server waar dit op draait de DNS even kwijt is , of de website virtualhost.domain.com down is duurt het >45 seconden voordat hij time-out geeft.
(Met achterliggende gevolg dat de rest van de website stil staat .... en het lijkt alsof de website waar het script op uitgevoerd wordt dood is)
Eigenlijk wil ik dit verkorten naar 2 seconden. Simpel dacht ik , ik kijk even in de manual. Maar je raadt het al.. de opties die omschreven staan werken niet
Ik vond deze funktie
socket_set_timeout -- Alias of stream_set_timeout()
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?php $fp = fsockopen("www.example.com", 80); if (!$fp) { echo "Unable to open\n"; } else { fputs($fp, "GET / HTTP/1.0\n\n"); stream_set_timeout($fp, 2); $res = fread($fp, 2000); var_dump(stream_get_meta_data($fp)); fclose($fp); echo $res; } ?> |
Ik heb bovenstaande voorbeeld als volgt gebruikt :
PHP:
1
2
3
| $site = "http://virtualhost.domain.com/information.php"; $string = @file_get_contents($site); stream_set_timeout($string, 2); |
Maar dit werkt dus niet. De alias ook niet. Ik ben gebonden aan de file_get_contents funktie. Dus ik kan geen fsockopen gebruiken (daar het achterliggende programma dan op de schop moet)
Iemand een ideetje?
[ Voor 11% gewijzigd door om3ega op 09-04-2004 19:00 . Reden: Verduidelijking ]