technology-note/php/1.apache集成php.md

92 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

2019-05-21 20:22:13 +08:00
---
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)
简单说明下:第一、第二个相当于纯净版没有集成其他拓展的。第三、第四、第五个集成了 phpmysql 等常用环境,无需配置开箱即用。
<!-- 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)