Jump to content


regislg

Member Since 24 Aug 2019
Offline Last Active Sep 06 2019 03:36 PM
-----

Posts I've Made

In Topic: US 13.4.0 PHP 7.3 cURL

26 August 2019 - 04:07 AM

Hello Alfred,

 

I encountered the same error while installing GLPI (PHP Curl is an "optional" required PHP extensions) on Uniform Server 13.4.0.

 

php_curl_error.jpg

 

To solve I did this :

Check file version from path (apache2) : ..\UniServerZ\core\apache2\bin
Check file version from path (php73)   : ..\UniServerZ\core\php73

File / Apache2 bin / PHP73
--------------------------
libcrypto-1_1.dll     : 1.1.0.7  | 1.1.1.3
libcrypto-1_1-x64.dll :          |
libcurl.dll           :          |
libsasl.dll           :          | 2.1.27.0
libssh2.dll           :          | existing (unknown version)
libssl-1_1.dll        : 1.1.0.7  | 1.1.1.3
libssl-1_1-x64.dll    :          |
nghttp2.dll           : 1.38.0.0 | 1.32.0.0
libeay32.dll          : 1.0.2.19 | 
ssleay32.dll          : 1.0.2.19 |

Solution is to copy (most recent version) files libcrypto-1_1.dll and libssl-1_1.dll from ..\UniServerZ\core\php73 to ..\UniServerZ\core\apache2\bin directories.

Then the curl extension seems to be ok (at least, well enough, to fulfill the GLPI installation requirements).

 

How do you check the curl extension is "really" working ? (i guess the GLPI installation just check it is "available")

 

The posts I read from :

Source : https://stackoverflow.com/questions/16424117/php-unable-to-load-php-curl-dll-extension

Chris Tsirkas, Jul 11 2018 at 14:13
-----------------------------------
Usually this is an OpenSSL version mismatch error, between Apache and PHP.

In case Apache loads PHP as a DSO module, its own OpenSSL versions (dlls and libs) will be used.
So, in case the PHP extension requires a newer version, it may not find the appropriate interface inside the Apache-loaded DLLS and it will fail to work.

Since you need the PHP extension to load, you need the relevant DLL files to be at least the version of what the PHP module asks for.
Supposing that you 're using lastest builds for both Apache and PHP and both having been built with the same MVC version, you can copy the following files:

    libcrypto-1_1.dll
    libcrypto-1_1-x64.dll
    libcurl.dll
    libsasl.dll
    libssh2.dll
    libssl-1_1.dll
    libssl-1_1-x64.dll
    nghttp2.dll
    libeay32.dll (if existing in your PHP distribution)
    ssleay32.dll (if existing in your PHP distribution)

from the PHP root folder to the Apache2/bin folder, in case you 're confident that the PHP build is newer than the Apache build.

In the opposite case, you can copy the same files from the Apache BIN to the PHP root.

In any case, backup the contents of the APache and PHP folders beforehand.

Adding the PHP path as an enviromental variable will give priority to this path for loading the relevant DLLs and may solve the problem.
However, you lose in server portability.
Additionally, if you have also added the Apache PATH as a variable and the OpenSSL versions are way different (up to loading different linked DLL files), a lot of shit may happen.


Rusty Fausak, Jul 28 2018 at 5:34
---------------------------------
I had to copy over libssl-1_1.dll and libcrypto-1_1.dll from my php7.2.8/ext folder to apache2.4.23/bin folder to get this to work.
Before that, I was receiving "Unable to load dynamic library" on php_curl.dll and php_openssl.dll despite those files existing in the correct place.

In Topic: WP is not reachabel from the LAN only Local

24 August 2019 - 03:36 PM

Hello, I encountered the same problem while testing the Uniform Server 13.4.0 and the wordpress installation tutorial (http://www.uniformse..._wordpress.html).

 

It is not specific to Wordpress, but to external access to the apache server.

 

In case it may help someone, just follow the instructions in the  .htaccess file (located in the root folder : www) : Comment next four lines to deactivate. (Allows external access)

Stop apache, edit the .htaccess file (just add a # at the beginning of each line), restart apache and external access will be granted.