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的主要内容,如果未能解决你的问题,请参考以下文章