I've recently upgraded to php 7.1.31, starting from an installation of EasyPhp (Windows 7, x86). After installing the files and configuring the php.ini file, all is running well, except a problem with the curl extension:
**Fatal error: Uncaught Error: Call to undefined function curl_init()**
phpinfo() confirms that curl extension is missing.
After a number of verifications and tests:
- This is not a problem of uncommented extension in php.ini (";extension=php_curl.dll" is correctly uncommented).
- libeay32.dll, ssleay32.dll, libssh2.dll are in the right directory at the root of the /php directory (I also tried in the /system32 folder even it is a bad idea, but it doesn't work better)
- php_curl.dll is in the /ext/ directory
- There was no associated error or log found in the Windows Event Viewer
- The windows PATH var contains the /php directory
- The extension_dir path is correctly set in the php.ini file (all others extensions are working)
- I've tried various versions of ssleay32.dll, ssleay32.dll and libssh2.dll, as I supposed one could be broken, but nothing changed.
Maybe an hint: I've checked the list of known extensions with the DOS php command line utility:
php -r "print_r(get_loaded_extensions())";
it returns a list of 41 extensions including curl and openssl! But, the same command in a php page (Apache 2.4):
echo "<pre>", print_r(get_loaded_extensions()), "</pre>";
return a list of 39 extensions, curl and openssl are missing.
The underlying php.ini file is the same as the one used for the php CLI and for the web page running with php/apache...
Another point, https://www.php.net/manual/en/curl.installation.php refer to libcrypto-.dll But libcrypto-.dll is not in the default download folder of php (why?). I test without success a libcrypto-.dll
Any idea would be greatly appreciated!