微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP CURL 有时有效有时无效

如何解决PHP CURL 有时有效有时无效

我这里有一个奇怪的场景。我有 3 台服务器:

1.) http://my-server1/test
--> 这个服务器 url 只会返回一个 json 对象 "test"

2.) http://my-server2/get_request
--> 这个 url 将通过 PHP CURL 方法发送请求

3.) http://mylocal-machine-server/get_request
--> 和我的server2一样,只是通过XAMPP在我的本地机器上运行

第二个和第三个服务器中的 get_request 方法都有 ff。测试 CURL 的简单代码

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://www.google.com');
curl_exec($ch);

两台服务器都成功执行了请求,显示了google.com的内容。现在,我在服务器 2 和本地服务器的 get_request 方法中将 url 从 google.com 更改为我的 服务器 1 url,所以现在看起来像这样: >

$ch = curl_init();
curl_setopt($ch,'http://my-server1/test');
curl_exec($ch);

我在第二台服务器和我的本地服务器上运行 get_request 方法。我本地服务器上的 get_request 能够获取test”json 对象。但是,我的第二台服务器上的 get_request 加载需要一段时间,加载完成后,它没有显示任何内容

解决方法

我找到了罪魁祸首。我的第二台服务器的 IP 地址没有在我的第一台服务器的防火墙(我获取数据的 url)的白名单中。第二台服务器超时,因为它无法访问第一台服务器。刚刚在使用greeflas建议的curl_error时才意识到这一点,发现错误是connection time out。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。