Apache 2.4.23 PHP7.x Windows 10 x64 php_curl不工作
我试图将我的服务器升级到最新的Apache2.4.23和PHP7.1,但它无法加载PHP_curl库,不知道为什么Apache 2.4.23 PHP7.x Windows 10 x64 php_curl不工作,php,windows,apache,64-bit,php-curl,Php,Windows,Apache,64 Bit,Php Curl,我试图将我的服务器升级到最新的Apache2.4.23和PHP7.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 我试过以下几点 将扩展路径更改为完整路径,如d:\webserver\php\ext
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\u curl.dll、libssh2.dll、libeay32.dll、ssleay32.dll
复制到System32,php/ext,apache/bin,php- Apache 2.4.23 x64
- PHP7,还尝试了PHP7.1(线程安全)x64
- Windows 10 x64
- 解决方案:将libeay32.dll、libssh2.dll、ssleay32.dll文件放在httpd.conf的ServerRoot指令中指定的目录下。这些DLL可以在php根文件夹下找到
原因:
问题是php_curl.dll在加载时需要访问以下库:libeay32.dll、libssh2.dll、ssleay32.dll,如果将它们放在./php/ext dir中或将php扩展放在php根目录中,则没有意义
当然,您可以将它们放在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将不会再次加载失败。将php的路径从路径中移除dll只需复制到
apache\bin
folder不要将dll复制到\windows\system32
folder是否检查了所有这些扩展在您的新php.ini
文件中激活?您是否将php.ini
文件从\php\复制到\apache\bin\是的,我已经阅读了该解决方案并尝试了,它不起作用。然而,我通过从wamp复制php目录修复了它,这些dll文件似乎有缺陷,wamp开发人员似乎自己编译。