cURL PHP 在一台服务器上工作,但在另一台服务器上不起作用



嗨,我知道这个问题非常通用,但是为什么存在问题的可能性(服务器上的卷曲或其他任何问题(。因此,问题是我将卷曲请求提交给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

用冗长的信息,您可以获得很多信息。

相关内容

最新更新