如何在 Apache 上配置 PHP 7.4?

Leo*_*rdo 2 php windows apache apache2.4 php-7.4

我尝试在我的计算机上配置 PHP 7.4 和 Apache 2.4,但它返回以下错误:

httpd.exe: Syntax error on line 542 of C:/XIDServer/Apache24/conf/httpd.conf: 
Can't locate API module structure 'php7_module' in file C:/XIDServer/php/php7.dll: No error
Run Code Online (Sandbox Code Playgroud)

我的 httpd.conf 底部有代码:

# PHP7 module
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
LoadModule php7_module "C:/XIDServer/php/php7.dll"
PHPIniDir "C:/XIDServer/php"
Run Code Online (Sandbox Code Playgroud)

我已经做了:

  • 将 php7.4 复制/粘贴到以下位置:'C:\XIDServer\php'
  • 编辑“C:\XIDServer\php\php.ini”上的 php.ini 文件,启用一些模块:
  • 扩展名=卷曲
  • 扩展名=gd2
  • 扩展名=mbstring
  • 扩展名=mysql
  • 扩展名=pdo_mysql
  • 扩展名=xmlrpc
  • 创建指定 'C:\XIDServer\php' 的 php 环境变量
  • 将 Apache 2.4 64 位复制/粘贴到文件夹:“C:\XIDServer\Apache24”
  • 编辑 httpd.conf 文件,指定新位置('C:\XIDServer\Apache24')
  • 安装Apache 2.4的Windows服务
  • 在文件“httpd.conf”的底部添加了上述行

我在 Windows Server 2012 机器上执行此操作。

小智 5

我也遇到过同样的问题。您可能下载了 php7 的非线程保存版本。但是您必须下载 Thread-Save 版本。因为在此版本中,您将获得一个名为 php7apache2_4.dll 的文件,您需要将其作为模块加载,而不是 php7.dll。

LoadModule php7_module "C:/XIDServer/php/php7apache2_4.dll"
Run Code Online (Sandbox Code Playgroud)

如果你改变这条线它应该可以工作。