嗨,我知道这个问题很笼统,但是为什么有问题(服务器上的cURL阻塞或其他原因)的可能性是什么? 所以问题是我向PHP中的另一个域发出了cURL请求(下面的代码)
$url = 'https://www.example.com/get_products.php';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$result= curl_exec($curl);
curl_close($curl);
echo $result;
在托管服务提供商A的网站上,它运行良好,但在托管服务提供商B上却无法运行。目前无法访问提供商B的网站,因此无法使用 curl_errno 等对其进行调试。那么有什么可能性在那里无法使用。
答案 0 :(得分:3)
有时服务器也不支持CURL,所以可能是发生此问题的原因。
请检查您的托管服务提供商或寻求友善的支持。
答案 1 :(得分:2)
在某些情况下,传出端口被阻止。因此,例如,检查您与telnet的连接:
telnet www.example.com 443
如果正在连接,则说明端口已打开,否则应致电您的提供商并要求他们打开端口。
接下来的事情是,有时SSL验证无法正常工作。因此,您可以禁用CURL选项CURLOPT_SSL_VERIFYPEER
以将其禁用以进行临时测试。请不要在生产中使用该证书,因为这样不会检查您的证书。但是您可以测试这是否是问题所在。
https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html
您最后可以尝试的是在CLI上使用curl并使用调试模式。
curl -v https://www.example.com/get_products.php
冗长,您可以获得很多信息。