我试图将我的服务器升级到最新的Apache 2.4.23和PHP 7.1但是它无法加载php_curl库,不知道为什么。
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
我试过以下
php_curl.dll, libssh2.dll, libeay32.dll, ssleay32.dll
复制到 System32 , php / ext , apache / bin , php < / LI>
答案 0 :(得分:1)
解决方案:将libeay32.dll,libssh2.dll,ssleay32.dll文件放在httpd.conf的ServerRoot指令中指定的目录下。可以在php根文件夹下找到这些dll。
原因:
问题是php_curl.dll在加载时需要访问以下库:libeay32.dll,libssh2.dll,ssleay32.dll如果你将它们放在./php/ext目录中或者你放入php扩展名它没有意义在php root dir。
当然你可以将它们放在c:\ Windows或PATH中定义的某个全局文件夹中,但如果你不想这样做,你希望你的apache + php安装是可移植的:
httpd.conf中ServerRoot中指定的路径被视为php的主路径。行为类似于在./index.php中包含./path/to/some.php文件的情况,some.php文件的主路径仍然是./ index.php所在的目录。
简而言之,只需将这三个dll放在httpd.conf ServerRoot指令中指定的目录中,并且php_curl.dll将无法再次加载。