Skip to content

Option CURLOPT_SSLCERT_BLOB not guaranteed available on cURL 7.80.0 and PHP 8.3? #1

Closed
@remcotolsma

Description

@remcotolsma

Client got the following error:

2024/06/07 10:29:56 [error] 864577#864577: *919 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ValueError: curl_setopt(): Argument #2 ($option) is not a valid cURL option in packages/pronamic/pronamic-pay-ideal-2/src/Integration.php:88

Stack trace:

#0 packages/pronamic/pronamic-pay-ideal-2/src/Integration.php(88): curl_setopt()

Internal HelpScout ticket: https://secure.helpscout.net/conversation/2509458673/26893?viewId=1425710#thread-7880500989


image002-45

The cURL option CURLOPT_SSLCERT_BLOB should be available since cURL 7.71.0?

I asked ChatGTP following question:

Why is the CURLOPT_SSLCERT_BLOB option not available in PHP 8.3 with cURL version 7.80.0 mbedTLS/2.28.8?


The absence of the CURLOPT_SSLCERT_BLOB option in PHP 8.3 with cURL version 7.80.0 mbedTLS/2.28.8 could be due to several reasons:

  1. Version Compatibility: It's possible that the CURLOPT_SSLCERT_BLOB option was removed or not implemented in this specific version of PHP or cURL. Updates and changes to PHP extensions and libraries can sometimes result in the removal or modification of certain features.

  2. Library Support: The mbedTLS library might not support this specific option or it could be implemented differently from other SSL libraries. It's important to check the documentation for both PHP and cURL to see if there are any mentions of this option being deprecated or not supported.

  3. Bug or Oversight: There's always the possibility of a bug or oversight in the implementation. It's worth checking the bug trackers or forums for PHP and cURL to see if others have encountered similar issues or if there's any ongoing discussion about this.

  4. Alternative Approach: If CURLOPT_SSLCERT_BLOB is not available, you might need to explore alternative approaches for achieving the same functionality, such as using CURLOPT_SSLCERT with a file path instead of a blob, or using a different SSL library that supports passing certificate data as a blob.

To get a more precise answer, you might want to consult the official documentation, release notes, or community forums for PHP, cURL, and mbedTLS to see if there are any specific explanations or announcements regarding the absence of this option.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions