---
id: "20190520"
date: "2019-05-20 15:42:00"
title: "如何让apache集成php详细步骤"
tags: ["php", "apache"]
categories:
  - "php"
  - "环境配置"
---

原本是不愿意用 php，但是现在不得不用了，有一个第三方库只有 php 的拓展，所以只好用 php 来写一个 restful 接口来调用这个拓展。本篇主要是搭建 php 的运行环境，基于'apache','php7'。由于仅需要 apache 和 php，不其要其他的东西，所以未选择集成包，手动配置 apache，让其支持 php。

# 安装 php

首先安装 php 的压缩包，目前最新版下载地址：[https://windows.php.net/downloads/releases/php-7.3.5-Win32-VC15-x64.zip](https://windows.php.net/downloads/releases/php-7.3.5-Win32-VC15-x64.zip).

解压文件到这个路径下：`D:\Program Files\php-7.3.5`(自行选择合适的路径).然后将这个路径加入到环境变量 path 中。

然后打开 cmd 运行`php -version`,输出类似如下，说明安装成功。

```
PHP 7.3.5 (cli) (built: May  1 2019 13:17:17) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
```

# 安装 apache

打开 apache 的 windows 版本下载页面，[httpd.apache.org/docs/current/platform/windows.html#down](httpd.apache.org/docs/current/platform/windows.html#down),会发现有好几个下载版本：

![下载页面](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190520114627.png)

简单说明下：第一、第二个相当于纯净版没有集成其他拓展的。第三、第四、第五个集成了 php，mysql 等常用环境，无需配置开箱即用。

<!-- more -->

这里我们下载第二个。

下载解压后将`Apache24`文件夹放到`D:\Program Files`路径下，然后将`D:\Program Files\Apache24\bin`目录加入到系统环境变量`path`中，这样就能在任意地方使用 apache 的命令。

然后修改 conf 目录下的`httpd.conf`文件,步骤如下：

1. 修改 SRVROOT,这里定义了 apache 的安装路径，相当于一个变量，后面很多地方会用到这个变量

```
# 修改37行，将其改为
Define SRVROOT "D:\\Program Files\\Apache24"
```

2. 查找 LoadModule，在其后面增加下面配置,知道 php 模块，和 php 配置文件地址

```
LoadModule php7_module "D:\\Program Files\\php-7.3.5\\php7apache2_4.dll"
PHPIniDir "D:\\Program Files\\php-7.3.5"
```

3. 修改根路径,修改`DocumentRoot`和`Directory`,改为如下：

```
DocumentRoot "${SRVROOT}/www"
<Directory "${SRVROOT}/www">
```

4. 新增一个配置，让 apache 识别 php 的文件

```
	AddType application/x-httpd-php .php
```

5. 将 apache 安装成系统服务

```bash
# 安装/卸载apache服务
httpd -k install/remove

# 启动/关闭/重启 apache服务
httpd -k start/stop/restart
```

6. 测试是否成功。在`D:\Program Files\Apache24\www`路径下新建一个`phpinfo.php`文件，内容如下：

```php
<?php
    phpinfo();
?>
```

启动 apache 后，访问 localhost/phpinfo.php,看到如下界面说明成功：

![php info](https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190521201347.png)

