我有一个PHP刮板,可以在我的本地计算机上完美运行。但是,当我将其上传到VPS(Ubuntu 16.04)时,它无法从网站上获取数据。而是显示此错误消息:
“卷曲:(56)GnuTLS接收错误(-54):拉取功能中的错误”
我更新了Openssl,Curl,GnuTLS仍然没有运气。试图从命令行执行CURL,它显示了相同的错误。这应该与CURL / GnuTLS有关。我看到有些人在使用Git时遇到了相同的错误消息并进行了修复,但该解决方案在我的情况下不起作用。有什么办法可以解决?
这是我用来从网站获取数据的PHP函数:
function get_html($url)
{
$agent= 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Language: q=0.9,en-US;q=0.8,en;q=0.7',
'Connection: keep-alive'
));
curl_setopt($ch, CURLOPT_URL,$url);
$pageContent = curl_exec($ch);
curl_close($ch);
return $pageContent;
}
谢谢。