PHP cURL无法在Windows上的Apache中正确加载

Aad*_*rty 4 php apache curl

我最近从头开始设置apache + php + mysql,除了PHP的cURL,imap和interbase扩展外,一切似乎都运行正常

ext目录包含所有必需的dll,包括php_curl.dll和其他提到的扩展,但是,在错误日志中,以下内容即将发布

PHP Warning:  PHP Startup: Unable to load dynamic library 'B:/XServ/host/php/ext\\php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'B:/XServ/host/php/ext\\php_intl.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'B:/XServ/host/php/ext\\php_interbase.dll' - The specified module could not be found.\r\n in Unknown on line 0
[Tue Jul 12 19:16:07.025738 2016] [mpm_winnt:notice] [pid 2100:tid 344] AH00354: Child: Starting 64 worker threads.
Run Code Online (Sandbox Code Playgroud)

您可能已经注意到,有两个尾部反斜杠而不是正斜杠.

另外,这是我的php.ini的片段

extension_dir = "B:/XServ/host/php/ext"

extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
;extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
Run Code Online (Sandbox Code Playgroud)

所有其他扩展工作正常.

我在Windows 8.1,Apache 2.4.23,PHP 7.0.8

对此有何解决方案?

SiN*_*iTY 8

您可能想先测试一下PHP.

你试过php -v在控制台上运行吗?它将返回确切的错误,即使extension_dir具有正确的路径,它也无法加载指定的模块.

libCurl需要该文件libssh2.dll.因此,要解决它,请尝试以下操作:

libssh2.dll文件从PHP目录复制到Apache的BIN目录(与位置相同httpd.exe)

要么

在您的httpd.conf文件中,添加"LoadFile B:/XServ/host/php/libssh2.dll"

  • 您可能还需要在apache的bin目录中替换`nghttp2.dll`,就像PHP 7.2.2一样 (4认同)