我有一個PHP腳本來填充我的網站緩存。未設置主機標頭
我試圖繞過Nginx的前端,並從Apache後端抓取頭。
下面的例子作品(通過命令行):
curl -I -H "Host: example.com" 127.0.0.1
然而,當我嘗試做相同的PHP - 它不會。
$headers = array("Host: example.com");
$url = "127.0.0.1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt ($ch, CURLOPT_HEADER, true);
curl_setopt ($ch, CURLOPT_NOBODY, true);
curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);
$ret = curl_exec ($ch);
curl_close ($ch);
echo "$ret";
這總是返回我的apache虛擬主機文件中列出的第一個網站 - 而不是「主機」http頭文件中列出的網站。
任何想法爲什麼它通過命令行工作得很好 - 但不是在PHP腳本?
謝謝你,我會檢查該鏈接,看看我是否能找出發生了什麼。 – Dave
看看是否可以收集詳細輸出。你可以將它添加到你的問題中,這應該使你的問題描述更加具體。 – hakre