Apache and PHP Curl Issue

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer 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\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 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):

  • ws2_32.dll
  • wldap32.dll
  • php7ts.dll
  • libeay32.dll
  • libssh2.dll
  • nghttp2.dll
  • ssleay32.dll
  • normaliz.dll
  • kernel32.dll
  • vcruntime140.dll
  • api-ms-win-crt-stdio-l1-1-0.dll
  • api-ms-win-crt-string-l1-1-0.dll
  • api-ms-win-crt-heap-l1-1-0.dll
  • api-ms-win-crt-convert-l1-1-0.dll
  • api-ms-win-crt-filesystem-l1-1-0.dll
  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-crt-utility-l1-1-0.dll
  • api-ms-win-crt-time-l1-1-0.dll
  • api-ms-win-crt-environment-l1-1-0.dll

I am unsure of what dependencies that 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

profilepic.png
manpreet 2 years ago

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.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.