嗨,我知道这个问题非常通用,但是为什么存在问题的可能性(服务器上的卷曲或其他任何问题(。因此,问题是我将卷曲请求提交给PHP中的另一个域(下面代码(
$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 等调试它。因此,它在那里无法使用的可能性是什么。
在某个时候服务器也不支持卷发,因此可能发生问题。
请检查您的托管提供者或要求提供友好的支持。
在某些情况下,外向端口被阻止。因此,请检查您与Telnet的连接:
telnet www.example.com 443
如果这是连接的,那么您知道端口是打开的,否则您应该致电您的提供商并要求他们打开端口。
接下来的事情是有时SSL验证无法正常工作。因此,您可以禁用Curl选项CURLOPT_SSL_VERIFYPEER
以将其禁用以进行临时测试。请不要在生产中使用它,因为那时您的证书未检查。但是您可以测试这是否是问题。
https://curl.haxx.se/libcurl/c/curlopt_ssl_verifypeer.html
您可以尝试的最后一件事是在CLI上使用卷曲并使用调试模式。
curl -v https://www.example.com/get_products.php
用冗长的信息,您可以获得很多信息。