我有一个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