我想在apache上安装php 7.1.13,但是当我尝试重新启动/启动apache时,我一直收到错误,
The request operation has failed!
在我的日志中,我不断收到无法找到php扩展的错误。但这不可能,因为我使用绝对路径到我的/ ext文件夹。
PHP Warning: PHP Startup: Unable to load dynamic library
'D:\\apache\\php7\\ext\\php_mbstring.dll'
我还有较旧的PHP7文件夹,并且该工作正常,但是一旦我想升级到更高版本,我就会一直收到这些错误。
答案 0 :(得分:0)
原因可能是您的php可执行文件和扩展库是由不同版本的编译器编译的。请在此处阅读如何找出两个文件中使用的编译器:Is there a way to determine which version of Visual Studio was used to compile a static library?
答案 1 :(得分:0)
确保:
php.ini
中的扩展程序标记为extension=curl
,extension=ldap
等。extension=php_curl.dll
(由于遗留原因仍然支持,但已弃用)。extension_dir = "C:/path_to_your_php/"
包含php扩展名的绝对路径。<apache_dir>/conf/httpd.conf
文件中:LoadFile "path_to_php_dir/libsasl.dll"
LoadFile "path_to_php_dir/libpq.dll"
LoadFile "path_to_php_dir/php7ts.dll"
LoadFile "path_to_php_dir/libssh2.dll"
LoadFile "path_to_php_dir/nghttp2.dll"
LoadFile "path_to_php_dir/libcrypto-1_1-x64.dll"
LoadFile "path_to_php_dir/libssl-1_1-x64.dll"
此配置块使Apache可以预加载这些文件,因此,由于依赖性不匹配,您的扩展不会因加载而失败。
php_dir/php*.dll
,php_dir/ext/*.dll
,...)。