【问题标题】:cURL contains an invalid cURL optioncURL 包含无效的 cURL 选项
【发布时间】:2021-05-29 12:35:36
【问题描述】:

我正在从 PHP 7.4 升级到 PHP 8,突然这个错误出现在我的 cURL 请求中:

Fatal error: Uncaught ValueError: curl_setopt_array(): Argument #2 ($options) contains an invalid cURL option in ...

我使用以下代码来构建 curl:

$options = array (
    "CURLOPT_POST" => true,
    "CURLOPT_HEADER" => true,
    "CURLOPT_URL" => "https://example.example.com/api/example.php",
    "CURLOPT_FRESH_CONNECT" => true,
    "CURLOPT_RETURNTRANSFER" => true,
    "CURLOPT_FORBID_REUSE" => true,
    "CURLOPT_TIMEOUT" => 10,
    "CURLOPT_FAILONERROR" => true,
    "CURLOPT_POSTFIELDS" => $this->buildPostFields($postData),        
    "CURLOPT_HTTPAUTH" => "CURLAUTH_BASIC",
    "CURLOPT_SSL_VERIFYPEER" => false //REMOVE IN PRODUCTION, IGNORES SELFSIGNED SSL            
);            
$ch = curl_init();
curl_setopt_array($ch, $options);

目标文件始终是 php 扩展名。 'buildPostFields' 返回一个数据数组。

这可能是由于我的 php 升级到版本 8 造成的,但我在文档中找不到任何提示。 我尝试删除每一行,然后再试一次。但这没有帮助。

【问题讨论】:

    标签: php curl php-8


    【解决方案1】:

    错误是因为你用双引号包裹了常量。

    curl_setopt_array (CurlHandle $handle , array $options ) : bool

    options
    一个数组,指定要设置的选项及其值。 键应该是有效的 curl_setopt() 常量或其 整数等价物

    所以应该是CONSTANT_NAME => value

    $options = array (
        CURLOPT_POST => true,
        CURLOPT_HEADER => true,
        CURLOPT_URL => "https://example.example.com/api/example.php",
        CURLOPT_FRESH_CONNECT => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FORBID_REUSE => true,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_FAILONERROR => true,
        CURLOPT_POSTFIELDS => $this->buildPostFields($postData),           
        CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
        CURLOPT_SSL_VERIFYPEER => false //REMOVE IN PRODUCTION, IGNORES SELFSIGNED SSL            
    );            
    $ch = curl_init();
    curl_setopt_array($ch, $options);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-10
      • 2014-09-20
      • 2023-03-29
      • 1970-01-01
      • 2011-01-10
      • 2011-10-12
      • 2010-09-12
      • 1970-01-01
      相关资源
      最近更新 更多