php curl error:php curl error code_大海技术博客-CSDN博客
有些时候发下浏览器可以访问的get接口,postman却返回false,打印error code后返回数值,可以参考上面的errror code值找到对应的值处理
首先直接ping一下,比如如果你的接口是get的
#ping
curl "http://www.baidu.com.cn/api/getDriverInfo/?arg=%7B%22driver_id%22%3A8008%7D"
发下ping通的
命令行curl
解析主机。浏览器解析了主机。只有PHP curl无法解决它。
最终,问题归结于curl配置。我安装了带有自制程序的PHP,并作为依赖项安装了它curl-openssl
以供PHP使用。curl的此安装由brew公式配置c-ares
为用于域名解析。我不知道它是如何c-ares
工作的,但是此VPN DNS显然是一种边缘情况,在OS X上无法正确处理(可能是由于OS X在保持/etc/resolv.conf
最新状态方面做得很差)。
/usr/bin/curl
另一方面,已配置为使用本机OS X解析器。这与PHP gethostbyname
和网络浏览器使用的解析器相同,这说明了为什么两者都能按预期工作的原因。
$ brew uninstall --ignore-dependencies curl-openssl
centos 安装参考:openssl 升级、curl支持https配置 - 简书
这通过转储此“损坏的” curl安装解决了我的问题。我不确定后备机制如何工作,但是我相信PHP现在正在使用,/usr/bin/curl
因为我没有curl
(我知道)其他安装,并且现在curl
列出的版本在以前没有phpinfo()
匹配/usr/bin/curl
时就可以匹配