Doc #76649 [Nab->Ver]: cURL module requires libssh2.dll
| From: | requinix@php.net | Date: | Wed, 29 Aug 2018 14:12:52 +0000 |
| Subject: | Doc #76649 [Nab->Ver]: cURL module requires libssh2.dll | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-15958@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76649&edit=1
ID: 76649
Updated by: requinix@php.net
Reported by: laucomm at gmail dot com
Summary: cURL module requires libssh2.dll
-Status: Not a bug
+Status: Verified
Type: Documentation Problem
Package: cURL related
Operating System: Windows
PHP Version: 7.2.8
Block user comment: N
Private report: N
New Comment:
> Thus, this is not a bug.
Right. However I switched this to a doc bug because the
> Note to Win32 Users
> In order to enable this module on a Windows environment, libeay32.dll and ssleay32.dll, or, as
> of OpenSSL 1.1
> libcrypto-*.dll and libssl-*.dll, must be present in your PATH. You don't need libcurl.dll
> from the cURL site.
note should be amended to also include libssh2.dll - as some of the user comments point out.
Previous Comments:
------------------------------------------------------------------------
[2018-08-29 13:57:57] ab@php.net
Thanks for the further info. Please don't mix modules, dependencies or CRT that are used in
different PHP versions. Different branches can use different dependency constellations which is an
internal detail. Thus, this is not a bug.
Thanks.
------------------------------------------------------------------------
[2018-07-23 14:17:25] laucomm at gmail dot com
@requinix@php.net
I do believe you, that you reproduced the issue on your end and found a working solution.
But I also believe, that the solution does not work on my end and that I did not misconfigure
anything.
I will restore the VM I used to a vanilla state and reinstall Apache und PHP again with all the
necessary steps, but I will take at least take 48h since I have to do some actual work first.
I'll see if I can record of video to document the process in case copying the libssh2.dll will
again not resolve the issue.
Whatever the result, I will report back how it went.
Thanks for the patience!
------------------------------------------------------------------------
[2018-07-23 14:04:26] laucomm at gmail dot com
@ab
The problem I see is, that only 1 of the 3 needed libraries for cURL is provided in the current PHP
distribution. So if you don't download an old distribution of PHP or Apache to get the 2
missing libraries, you will not be able to get cURL to work with VC15.
So I suggest to include all 3 libraries again with upcomming Windows PHP distributions.
------------------------------------------------------------------------
[2018-07-23 14:00:30] requinix@php.net
I just downloaded PHP from that earlier link you posted,
>
> https://windows.php.net/downloads/releases/php-7.2.8-Win32-VC15-x64.zip)
and it still has the three DLL files required for php_curl.dll to work: libcrypto-1_1-x64.dll,
libssl-1_1-x64.dll, libssh2.dll. Just like it did yesterday when I downloaded it then.
I also just now went to the Apache Lounge to get their files. Again. Their VC15 also has libcrypto
and libssl too but it does not have libssh2.
My answer about copying the libssh2 file was not some random guess: I reproduced your problem,
identified the cause as the missing dependency, copied the file like I said, and it worked.
I don't know what files you're getting from where, but you're doing something wrong.
------------------------------------------------------------------------
[2018-07-23 13:28:27] ab@php.net
@laucomm thanks for the report. @requinix already has pointed to the right solution - either the
DLLs need to be copied or at least be on teh path. That was your initial issue, as cli showed curl
loaded on your side.
With regard to openssl - PHP 7.2 is shipped with OpenSSL 1.1.0 by default. If you need to use PHP as
Apache module, then Apache needs to be linked with same OpenSSL version and same CRT. Apache Lounge
are recommended Apache builds.
Perhaps it needs to be documented, whereby i'm not sure what exactly. With the DLL names -
it's an implementation detail, the constellation can change in future. Perhaps one should
document, if it isn't done already, that the PHP dir needs to be ensured to be on the path if
used as Apache module.
Thanks.
------------------------------------------------------------------------
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=76649
--
Edit this bug report at https://bugs.php.net/bug.php?id=76649&edit=1