apache无法解析php7apache2_4.dll

有个问题请教。
在将php版本更换为php7.1的过程中,启动Apache的时候报错如下:
系统:win7 64位;php版本:php7.1.3 thread safe 32 vc14;
apache版本:
图片描述

注:在cmd下单独执行php命令可以正常执输出phpinfo,单独开启apache也可以正常看到 it works!,但是在httpd.conf加入下面的语句再启动apache就报上面的错误信息了
PHPIniDir "D:/webSoft/php713"
LoadModule php7_module "D:/webSoft/php713/php7apache2_4.dll"
图片描述

网上我搜过了,一开始是缺少vc14的库,我安装了,后来我又下载了不同版本的php7.1,试了下还是不行,求解救!!!

阅读 10.9k
5 个回答

httpd -t 测试apache配置有没有错命令。

windons下整合apache与php需要添加这三个配置项,apache才能使用PHP服务去解析PHP文件

加载php模块 LoadModule(模块路径)

LoadModule php7_module "E:/wamp/php-7.0.0-x64/php7apache2_4.dll"

凡是.php后缀文件找php模块

AddType application/x-httpd-php .php .html .htm

让apache知道php.ini配置文件的位置。

PHPIniDir "E:/wamp/php-7.0.0-x64"

我用phpstudy,http.conf文件加载模块是用LoadModule authz_core_module modules/mod_authz_core.so类似这样的而不是.dll,而且不用写绝对路径,只要把扩展文件放在相应的目录下即可

首你要保证 Apache 和 PHP 都是 64 位的,要么都是 32 位

用 php-cgi
无论线程安全,还是非线程安全都可以

httpd.conf

Include "D:\ProgramFiles\Apache24\conf\extra/httpd-php.conf"

httpd-php.conf

LoadModule fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>
Include "D:\ProgramFiles\Apache24\conf/extra/httpd-fcgid.conf"
FcgidInitialEnv PHPRC "D:/ProgramFiles/php-7.1.3-x64/"
AddHandler fcgid-script .php
FcgidWrapper "D:/ProgramFiles/php-7.1.3-x64/php-cgi.exe" .php
</IfModule>

httpd-fcgid.conf

FcgidIOTimeout 384
FcgidConnectTimeout 360
FcgidOutputBufferSize 128
FcgidMaxRequestsPerProcess 1000
FcgidMinProcessesPerClass 0 
FcgidMaxProcesses 16 
FcgidMaxRequestLen 268435456   
ProcessLifeTime 360
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000

附 mod_fcgid 下载
https://www.apachelounge.com/...

我也遇到相同的问题,去php官网下载过几次都是这样。
后来,我把php7.0里的php7apache2_4.dll放到php7.1去,是可以正常启动的。
但用phpinfo()查看到的php版本是7.0的,它获得的版本号应该是从这个拓展中获取的,而不是php.exe中获取。

实际运行的应该是7.1的。

自己做的集成环境:WAMP

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题