我有一个 PHP 页面位于https://example.com调用 Web 服务来生成位于https://example2.com. 当页面执行时,它会显示ERR_INVALID_RESPONSE
. 两台服务器都是由 Digital Ocean 服务托管的 Droplets。
我在其他地方有另一台装有 Cpanel 的服务器,并且我在https://example3.com调用 Web 服务来生成位于https://example2.com。而我没有这个问题。
据我了解,问题出在调用其他域时的 Apache 配置中。要解决此问题,需要在 Apache 中检查哪些配置?
这是调用 Web 服务的片段代码
<?php
error_reporting(0);
session_start();
header('Content-Type: application/pdf');
// ...code to get $data
$server_output = return CallApi_PDF("POST", "https://example2.com/webservice", $data, $filename);
echo $server_output;
?>
function CallApi_PDF($method, $url, $data, $filename=null){
$additional_headers = array(
'Content-Type: application/json',
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $additional_headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$server_output = curl_exec($ch);
return $server_output;
}
就像我之前说的,这在带有 Cpanel 的服务器上有效