Edit report at https://bugs.php.net/bug.php?id=78891&edit=1
ID: 78891
Updated by: nikic@php.net
Reported by: gilperon at gmail dot com
Summary: Bug with CURL completely stopped working
Status: Duplicate
Type: Bug
Package: Unknown/Other Function
Operating System: all
PHP Version: 7.2.25
Block user comment: N
Private report: N
New Comment:
To clarify, running under strace should be as simple as "strace php script.php".
(Copying this comment from bug #78845, I mixed up the tabs.)
Previous Comments:
------------------------------------------------------------------------
[2019-12-04 09:23:10] nikic@php.net
This is pretty weird, because your curl is linked against NSS (first time I'm seeing that
particular combination...), while mysql will use OpenSSL. Assuming it's using mysqlnd.
I don't really have a good idea on how to debug this (short of making this reproducible in
something like Docker) ... possibly running PHP under "strace" and taking a look at the
log would give some insight into where the failure originates.
------------------------------------------------------------------------
[2019-12-02 12:29:36] gilperon at gmail dot com
requinix@php.net you are right. This bug now only happens when opening a mysqli connection
previously to using CURL with HTTPS. I have no idea how this bug "fixed" itself cause I
could easily reproduce it on a fresh install of centos + lamp on Linode (cloud server company) and I
didnt any "yum update" after the install. Have no idea how it got fixed HOWEVER the bug
still happens when opening a mysqli connection previsouly to using CURL with HTTPS.
------------------------------------------------------------------------
[2019-12-02 02:43:26] requinix@php.net
If your original code, the one where you do *not* do anything over an SSL connection before using
cURL, is no longer causing any problems then we're back to this being a duplicate of the other
report.
------------------------------------------------------------------------
[2019-12-02 02:30:13] gilperon at gmail dot com
One more thing, I tried using the CART file from https://curl.haxx.se/ca/cacert.pem and it also does
show the same exactly error, so I am pretty cure there is no problem with cacert or certificate
bundle.
------------------------------------------------------------------------
[2019-12-01 14:17:20] gilperon at gmail dot com
nikic@php.net I just woke up right now and went to try your code and suddenly this bug went away. I
didnt make ANY update yesterday. I didnt do "yum update" and for some reason CURL came
back to work!
Then I tried adding the line of code -
mysqli_connect("localhost","root","password") - above the CURL and
then it crashed again. Which means that the bug that I reported a few days back came back to happen
again.
So now, CURL only does not work when opening the mysqli connection.
Nikik I tried that 2 line of codes you asked me and the output follows below:
CODE:
<?php
$conn = mysqli_connect("localhost","root","password");
$curl = curl_init();
$opts = array();
$opts[CURLOPT_URL] = "https://www.sitepor500.com.br";
$opts[CURLOPT_RETURNTRANSFER] = true;
curl_setopt_array($curl,$opts);
var_dump(curl_exec($curl));
var_dump(curl_errno($curl))
?>
OUTPUT
bool(false)
int(77)
I investigated, and 77 means -> CURLE_SSL_CACERT_BADFILE.
ALSO one even strange thing, if I replace
$conn = mysqli_connect("localhost","root","password");
with just
mysqli_connect("localhost","root","password");
The bug goes away and everything works!
Hope this helps and if you want me to execute any other code, I am here to help!
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=78891
--
Edit this bug report at https://bugs.php.net/bug.php?id=78891&edit=1