I had the same problem, but it only manifested when running PHP through Apache. In CLI it was fine - cURL was shown in phpinfo()
.
The solution was to replace several files in Apache's bin
directory:
- libeay32.dll
- ssleay32.dll
- libssh2.dll
- nghttp2.dll
When PHP is run through Apache, its bin
directory probably takes precedence over system %PATH%
variable and therefore PHP's curl extension uses libraries from Apache, resulting in version mismatch (Apache's libraries seem to be older than required).
It should also be noted, that this behavior started (afaik) with PHP 7.1.
manpreet
Best Answer
2 years ago
In my apache error.log I have the following line: PHP Warning: PHP Startup: Unable to load dynamic library 'ext\com/tag/php">php_curl.dll' - The specified procedure could not be found.\r\n in Unknown on line 0
However I have checked my PATH variable and the PHP directory is listed, the ext folder is set correctly and com/tag/php">php_curl.dll exists in the folder.
I have reinstalled vc++ redistributes to ensure that there are no issues there.
During my checking I have found that all of the following ddl's are present when opening them from run (to test they can be found from the PATH variable):
I am unsure of what dependencies that com/tag/php">php_curl could have, if you could provide any suggestions then this would be greatly appreciated.
More system info: Compiler MSVC14 (Visual C++ 2015)
Architecture x64
Windows 7 platform
PHP version 7.1.4
Apache version 2.4