PHP curl_exec返回false&;curl\u错误返回空字符串

PHP curl_exec返回false&;curl\u错误返回空字符串,curl,php-curl,Curl,Php Curl,尝试执行get请求并获取答案正文时,curl\u exec返回false,curl\u error返回空字符串 代码如下: $curl = curl_init(); $opts = [ CURLOPT_URL => ' https://example.com'. $scope.'&item_value[]='.$param.'&api_key=XXXX', CURLOPT_RETURNTRANSFER => true, CURLOP

尝试执行get请求并获取答案正文时,curl\u exec返回false,curl\u error返回空字符串

代码如下:

$curl = curl_init();

$opts = [
    CURLOPT_URL => '
    https://example.com'. $scope.'&item_value[]='.$param.'&api_key=XXXX',
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_HEADER => false,
    CURLOPT_VERBOSE => true,
    CURLOPT_AUTOREFERER => true,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17'];

curl_setopt_array($curl, $opts);

var_dump($opts);

$response = curl_exec($curl);

var_dump($response);

if ($response === false) {
    $response = curl_error($curl);
    var_dump(curl_getinfo($curl));
}

var_dump($response);

curl_close($curl);

return($response);
# var_dump $response

xxx.php:24:boolean false

# var_dump curl_error($curl) since $response == false

xxx.php:31:string '' (length=0)

# var_dump curl_getinfo($curl)

array (size=37)
  'url' => string '
        https://100%_valid_url.com' (length=180)
  'content_type' => null
  'http_code' => int 0
  'header_size' => int 0
  'request_size' => int 0
  'filetime' => int -1
  'ssl_verify_result' => int 0
  'redirect_count' => int 0
  'total_time' => float 0
  'namelookup_time' => float 0
  'connect_time' => float 0
  'pretransfer_time' => float 0
  'size_upload' => float 0
  'size_download' => float 0
  'speed_download' => float 0
  'speed_upload' => float 0
  'download_content_length' => float -1
  'upload_content_length' => float -1
  'starttransfer_time' => float 0
  'redirect_time' => float 0
  'redirect_url' => string '' (length=0)
  'primary_ip' => string '' (length=0)
  'certinfo' => 
    array (size=0)
      empty
  'primary_port' => int 0
  'local_ip' => string '' (length=0)
  'local_port' => int 0
  'http_version' => int 0
  'protocol' => int 0
  'ssl_verifyresult' => int 0
  'scheme' => string '' (length=0)
  'appconnect_time_us' => int 0
  'connect_time_us' => int 0
  'namelookup_time_us' => int 0
  'pretransfer_time_us' => int 0
  'redirect_time_us' => int 0
  'starttransfer_time_us' => int 0
  'total_time_us' => int 0
请注意,我尝试添加CURLOPT_AUTOREFERER以调试请求,设置为firefox的CURLOPT_USERAGENT也是如此。没有这些选项,我也得到了同样的结果

另外,请注意,我试图请求的CURLOPT_URL是100%有效的(我已将var_转储到opts数组,以确保计算出的URL正确、有效并返回数据,并且是正确的)

输出如下:

$curl = curl_init();

$opts = [
    CURLOPT_URL => '
    https://example.com'. $scope.'&item_value[]='.$param.'&api_key=XXXX',
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_HEADER => false,
    CURLOPT_VERBOSE => true,
    CURLOPT_AUTOREFERER => true,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17'];

curl_setopt_array($curl, $opts);

var_dump($opts);

$response = curl_exec($curl);

var_dump($response);

if ($response === false) {
    $response = curl_error($curl);
    var_dump(curl_getinfo($curl));
}

var_dump($response);

curl_close($curl);

return($response);
# var_dump $response

xxx.php:24:boolean false

# var_dump curl_error($curl) since $response == false

xxx.php:31:string '' (length=0)

# var_dump curl_getinfo($curl)

array (size=37)
  'url' => string '
        https://100%_valid_url.com' (length=180)
  'content_type' => null
  'http_code' => int 0
  'header_size' => int 0
  'request_size' => int 0
  'filetime' => int -1
  'ssl_verify_result' => int 0
  'redirect_count' => int 0
  'total_time' => float 0
  'namelookup_time' => float 0
  'connect_time' => float 0
  'pretransfer_time' => float 0
  'size_upload' => float 0
  'size_download' => float 0
  'speed_download' => float 0
  'speed_upload' => float 0
  'download_content_length' => float -1
  'upload_content_length' => float -1
  'starttransfer_time' => float 0
  'redirect_time' => float 0
  'redirect_url' => string '' (length=0)
  'primary_ip' => string '' (length=0)
  'certinfo' => 
    array (size=0)
      empty
  'primary_port' => int 0
  'local_ip' => string '' (length=0)
  'local_port' => int 0
  'http_version' => int 0
  'protocol' => int 0
  'ssl_verifyresult' => int 0
  'scheme' => string '' (length=0)
  'appconnect_time_us' => int 0
  'connect_time_us' => int 0
  'namelookup_time_us' => int 0
  'pretransfer_time_us' => int 0
  'redirect_time_us' => int 0
  'starttransfer_time_us' => int 0
  'total_time_us' => int 0

显然,请求出现了很大的问题,但我似乎无法获得错误状态。服务器配置可能会禁止发布代码和“var dump”中的Curl?

如果URL中有新行,请重试

$opts = [
    CURLOPT_URL => 'https://example.com'.$scope.'&item_value[]='.$param.'&api_key=XXXX',
    // ...