【Apache2.4】在Win10环境下尝试与PHP进行协作(使用PHP模块)

在本篇文章中,介绍了如何将Apache2.4与PHP进行联合,使得Apache可以处理PHP文件。
在本文中,采用了PHP附带的PHP模块来实现。

由于没有Windows11环境,所以现在是Windows10环境。

由于我想在Apache2.4中使用PHP文件,所以我同时写了这篇关于在Qiita上使用PHP文件的文章。
由于可能有一些错误,所以如果担心的话,建议可以看看其他的文章。

请注意

这篇文章假设Apache 2.4和PHP已经安装好了。
关于如何安装Apache的方法,请参考下面的文章。

 

本文假设PHP位于C:\ php,并且Apache位于C:\Apache24上。

協作

新建PHP.ini文件(如果已经存在,请跳过此步骤)。

首先,需要有PHP.ini文件。
将附带的php.ini-development或php.ini-production文件重命名为php.ini。
如果不敢去修改原文件,可以复制一份,并将复制的文件命名为php.ini。
php.ini-development适用于开发环境,php.ini-production适用于正式环境。
由于我是为了兴趣而进行编程,所以我将php.ini-development进行了命名更改。

修改Apache服务器的配置文件

请更改配置文件。打开C:\Apache24\conf\httpd.conf。
请找到写有Dynamic Shared Object (DSO) Support的行。
在该行附近应该写有类似于LoadModule 模块名 路径的内容。

在中文中,LoadModule指的是

通过使用”LoadModule 模块名 路径”的格式,我们可以加载模块(类似于扩展功能)。
有些模块被用”#”注释掉,这些注释掉的LoadModule是不会起作用的。
如果你想使用它们,只需删除”#”即可激活它们。

找不到PHP的LoadModule。

只有Apache内置的模块才能在LoadModule中找到。
由于Apache未内置PHP模块,因此需要自己编写。

我来试着写

在php7的情况下,将以下代码添加到httpd.conf文件的末尾。

LoadModule php7_module "c:/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php

PHPIniDir "C:/php"

在使用 PHP8 的情况下,请将以下代码添加到 httpd.conf 文件的末尾。

LoadModule php_module "c:/php/php8apache2_4.dll"
AddHandler application/x-httpd-php .php

PHPIniDir "C:/php"

再者,将文件加载从HTML文件改为PHP文件。

<IfModule dir_module>
-    DirectoryIndex index.html
+    DirectoryIndex index.php
</IfModule>

修改PHP端的配置文件

请打开PHP.ini文件并作以下更改,否则会出现错误。

; Directory in which the loadable extensions (modules) reside.
; https://php.net/extension-dir
;extension_dir = "./"
; On windows:
- ;extension_dir = "ext"
+ extension_dir = "ext"

验证启动

让我们将index.php文件创建在C:\Apache24\htdocs目录下并启动它试试。

httpd -k stop

为了安全起见,在结束之后…

httpd -k start

启动…

image.png
广告
将在 10 秒后关闭
bannerAds