2013-10-10 99 views
2

我有一個腳本,用於檢查文件是否存在於另一臺服務器上,其中get_headers。我在一臺服務器上運行了兩臺服務器,另一臺服務器從get_headers得到一個空的響應。PHP:get_headers空結果

我的代碼:

$myurl='http://stackoverflow.com/'; 
$header = get_headers($myurl); 
print_r($header); 

PHP版本

PHP 5.3.3-7+squeeze14 with Suhosin-Patch (cli) (built: Aug 6 2012 14:18:06) 
Copyright (c) 1997-2009 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 

解決方案:

沒有確定那是什麼,我的Apache日誌已滿這些錯誤 failed to open stream: php_network_getaddresses: getaddrinfo failed: System error

後的重啓後它全部消失,並且get_headers正在工作。

+0

看起來像phpwtf,也許使用curl來代替? – Peter

+0

我也會使用curl,以便您可以執行HEAD請求,或使用'stream_context_set_default()'使HTTP請求使用HEAD。如果您只對標題感興趣,沒有理由使用完整的GET來做到這一點。 –

回答

0

檢查allow_url_fopen是否打開。

php - info | grep allow_url_fopen

+0

php --info | grep allow_url_fopen allow_url_fopen => On => On – kkgzjjmj