我最近从头开始设置了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.
您可能已经注意到,有两个尾部反斜杠而不是正斜杠。
此外,这是我的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
所有其他扩展程序都可以。
我使用的是Windows 8.1,Apache 2.4.23,PHP 7.0.8
对此有何解决方案?
答案 0 :(得分: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
答案 1 :(得分:-1)
cURL和Windows从来都不是一对幸福的夫妻,你需要延期,转到
http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
并下载"固定卷曲扩展"下的与您的PHP版本对应的cURL版本。然后替换ext文件夹中的php_curl.dll
。
希望有所帮助