PHP中CURL指定IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中CURL指定IP相关的知识,希望对你有一定的参考价值。

参考技术A 之前公司官方商城改版,给前台一些页面做了 Memcache 缓存。在这期间,经常涉及到一些页面的改动,商品页的描述也在不断更新,每次都需要开发人员到服务器上 reload Memcache ,比较麻烦,不然只有三个小时后页面才会失效,然后重载。

故想做一个后台配置,给运营同事操作。当运营同事修改了商品描述后,只需重载一下,就可以及时的更新给用户。

本来呢,我的想法很简单,就是在官网项目里添加一个接口,然后在运营中心那边调用这个接口就行,这样就可以使某个页面的缓存失效。

之后,华仔跟我说,可以看看 web14 (我司的一台服务器)上的配置,看完之后,发现他的想法很不错。具体是,给请求加个 header ,然后直接访问页面,就不会走缓存,会执行程序并重载这个页面的缓存。

然而当我想要开始动工的时候,发现了一个尴尬的问题。

我司的服务器有多台,同时 Memcache 缓存在每一台服务器上,那么 CURL 如何指定到各个 IP 呢。

Google 了一下,找到了解决方案。

这个方式只能制定某一台服务器的 IP ,当遇到多种情况时,就不行了。

在 PHP 7.0.22 下可以正常运行,可是跑到 PHP 5.5.38 下就不行了。

这样只需要更换 IP 就好。

一开始还是蛮担心自己弄不出来的,没想到解决问题是这么的简单。

理货宝 php curl 域名解析到指定IP

curl请求指定host ip(指定域名解析的内网某ip)

   

域名www.test.com解析内部多台ip
$httpHeader = array(‘Host: www.test.com‘);
$url = "10.17.2.245/xxx/xxx/t.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeader);

curl_setopt($ch, CURLOPT_URL, $url);

SHELL:

curl --silent -H "Host: www.test.com" "192.168.0.1/xxx/xxx/t.php"

以上是关于PHP中CURL指定IP的主要内容,如果未能解决你的问题,请参考以下文章

如何在curl方式下url请求域名使用指定ip地址来访问某个服务器

通过CURL获取本机/指定IP 地址相关信息

curl指定域名的IP

ping检测服务器或带指定host去curl网站链接

php使用curl下载指定大小的文件

Windows 上的 PHP/cURL 安装:“找不到指定的模块。”