Skip to content

[HttpClient] Add check for constant in Curl client #39889

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 19, 2021

Conversation

pierredup
Copy link
Contributor

@pierredup pierredup commented Jan 19, 2021

Q A
Branch? 4.4
Bug fix? yes
New feature? no
Deprecations? no
Tickets N/A
License MIT
Doc PR N/A

After updating Curl on a server, I started receiving the following warning:

Warning: Use of undefined constant CURLHEADER_SEPARATE - assumed 'CURLHEADER_SEPARATE' 

This is a bit of a strange issue, so I'm not 100% sure if this fix is correct (or even if it needs fixing here or in PHP).

The CURLOPT_HEADEROPT and CURLHEADER_SEPARATE have been added in Curl 7.37.0. The update on the server installed Curl 7.29.0.
So technically these constants should not exist, but in fact the CURLOPT_HEADEROPT constant is defined but not the CURLHEADER_SEPARATE constant.

This seems a bit weird since both constants have been introduced in the same version.

PHP Version: 7.4.14
Curl Version: 7.29.0
CentOs Version: CentOS Linux release 7.9.2009
symfony/http-client Version: 5.0.3

Psy Shell v0.10.6 (PHP 7.4.14 — cli) by Justin Hileman
>>> defined('CURLOPT_HEADEROPT')
=> true
>>> defined('CURLHEADER_SEPARATE')
=> false
>>> curl_version()
=> [
     "version_number" => 466176,
     "age" => 3,
     "features" => 558781,
     "ssl_version_number" => 0,
     "version" => "7.29.0",
     "host" => "x86_64-redhat-linux-gnu",
     "ssl_version" => "NSS/3.53.1",
     "libz_version" => "1.2.7",
     "protocols" => [
       "dict",
       "file",
       "ftp",
       "ftps",
       "gopher",
       "http",
       "https",
       "imap",
       "imaps",
       "ldap",
       "ldaps",
       "pop3",
       "pop3s",
       "rtsp",
       "scp",
       "sftp",
       "smtp",
       "smtps",
       "telnet",
       "tftp",
     ],
     "ares" => "",
     "ares_num" => 0,
     "libidn" => "1.28",
     "iconv_ver_num" => 0,
     "libssh_version" => "libssh2/1.8.0",
   ]
>>>
$ yum info libcurl

Installed Packages
Name        : curl
Arch        : x86_64
Version     : 7.29.0
Release     : 59.el7_9.1
Size        : 528 k
Repo        : installed
From repo   : updates

Curl PHP info:

cURL support => enabled
cURL Information => 7.29.0
Age => 3
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => Yes
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => No
SSL => Yes
SSPI => No
TLS-SRP => No
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host => x86_64-redhat-linux-gnu
SSL Version => NSS/3.53.1
ZLib Version => 1.2.7
libSSH Version => libssh2/1.8.0

@nicolas-grekas
Copy link
Member

Thank you @pierredup.

@nicolas-grekas nicolas-grekas merged commit 98bfdf7 into symfony:4.4 Jan 19, 2021
@pierredup pierredup deleted the curl-option branch January 19, 2021 10:34
This was referenced Jan 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants