在Windows上的Apache中无法正确加载PHP cURL
我最近从零开始安装了apache+php+mysql,除了php的cURL、imap和interbase扩展之外,其他一切似乎都运行良好 ext目录具有所有必需的dll,包括php_curl.dll和其他提到的扩展。但是,在错误日志中,下面是在Windows上的Apache中无法正确加载PHP cURL,php,apache,curl,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
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.
正如您可能已经注意到的,后面有两个反斜杠,而不是一个正斜杠
另外,这里是我的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
所有其他扩展都可以正常工作
我使用的是Windows8.1、Apache2.4.23、PHP7.0.8
有什么解决方案吗?cURL和Windows从来都不是幸福的一对,你需要一个扩展,请转到 并在“Fixed cURL extensions”下下载与PHP版本对应的cURL版本,然后替换ext文件夹中的
PHP_cURL.dll
希望能有帮助
您可能需要先测试PHP
您是否尝试过在控制台上运行php-v
?它将向您返回一个确切的错误,即即使扩展目录有正确的路径,它也无法加载指定的模块
同时
libCurl需要文件libssh2.dll
。因此,要解决此问题,请尝试以下方法:
将libssh2.dll
文件从PHP目录复制到Apache的BIN目录(与httpd.exe
位置相同)
或
在httpd.conf
文件中,添加以下内容
`加载文件B:/XServ/host/php/libssh2.dll尝试在浏览器地址栏中键入
B:/XServ/host/php/ext
,您可以访问它吗?是的,我可以访问它。您可能还需要在apache的bin dir中替换nghttp2.dll
,就像PHP7.2.2一样