今天修改公司的祖?zhèn)鞔a的時(shí)候,發(fā)現(xiàn)發(fā)送短信接口突然不好使了溪厘,經(jīng)過(guò)排查問(wèn)題,終于解決問(wèn)題牌柄,下面是排查過(guò)程:
1.首先查看接口地址畸悬,發(fā)現(xiàn)短信平臺(tái)的域名發(fā)生了更換,心里大喜珊佣,emmm傻昙,更換后,發(fā)現(xiàn)還是不好使彩扔,然后就出現(xiàn)了上面的報(bào)錯(cuò)
2.網(wǎng)上有很多解決辦法妆档,說(shuō)本機(jī)IPV6 和DNS的問(wèn)題,那么虫碉,首先贾惦,我們要確定是否是這個(gè)問(wèn)題。首先排查DNS解析的問(wèn)題:假設(shè)接口地址是baidu.com
依次在服務(wù)端執(zhí)行以下幾條命令:
注意:NDS 配置最好是 114.114.114.114 8.8.8.8
curl baidu.com
dig baidu.com
ping baidu.com
nslookup baidu.com
都沒(méi)有問(wèn)題,那么就直接排除是DNS的問(wèn)題须板,IPV6的解決方法如下:
curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false ); #使用DNS緩存
curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 2 );
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );#禁用IPV6
發(fā)現(xiàn)還是報(bào)同樣的問(wèn)題碰镜,那么IPV6的問(wèn)題可以基本排除了,那么就從php-fpm
入手
3.重啟php-fpm
后习瑰,重新請(qǐng)求绪颖,發(fā)現(xiàn)問(wèn)題已經(jīng)解決了,下面附php-fpm的重啟方法:
systemctl restart php-fpm #contos7
service php-fpm restart #centos6
#如果以上兩個(gè)命令都無(wú)法重啟甜奄,那么就是你PHP編譯的問(wèn)題了柠横,可以重新安裝,或者用下面的方法
find / -name php-fpm.pid #先找到我們的php-fpm 進(jìn)程id的路徑课兄,然后重啟
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #問(wèn)題解決