手动搭建php环境(win系统)

记录一下手动搭建 apache + php 环境的大致流程(闲得慌系列)

下载 windows 版 apache 启动器

下载 windows 版 php

  • 下载 windows 版 php 传送门
  • 由于我们使用 apache 作为服务器,这里需要选择线程安全的 php 进行下载
  • 选择64位或者32位的线程安全版本下载即可

配置 apache

  • 将下载的好的 apache 进行解压. 目录根据喜好放置,目录最好不要带有中文
  • 修改 conf/httpd.conf 配置文件
  • 文件查找 Define SRVROOT ,修改为apache目录地址
Define SRVROOT "C:/Develop/Environment/PHP/Apache_PHP_One/Apache24"
  • 文件查找 DocumentRoot,修改为 项目存放的目录地址 也就是 www 目录
DocumentRoot "C:/Develop/Environment/PHP/Apache_PHP_One/www"
  • 文件查找 <Directory /> ,修改目录权限,不然会 403
<Directory />
    Options Indexes FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>
  • 文件查找 DirectoryIndex,修改文件解析优先级
DirectoryIndex index.php index.html
  • 添加如下 3 条配置,添加位置随意
1. 配置 php7apache2_4.dll 文件的绝对路径, 此文件在php根目录下
LoadModule php7_module "C:/Develop/Environment/PHP/Apache_PHP_One/PHP7/php7apache2_4.dll"

2. 配置php目录位置
PHPIniDir "C:/Develop/Environment/PHP/Apache_PHP_One/PHP7"

3. 配置文件解析,将.php .html后缀的文件交给php去处理
AddHandler application/x-httpd-php .php .html

配置 php

  • 将下载的好的 php 进行解压. 目录根据喜好放置,目录最好不要带有中文
  • 复制 php.ini-development 文件, 改为文件名称为 php.ini
  • 修改 php.ini 配置文件
  • 文件查找 extension_dir,修改 php 扩展目录
extension_dir = "C:/Develop/Environment/PHP/Apache_PHP_One/PHP7/ext"
  • 开启扩展,搜索以下配置,将前面的分号删掉,这一步根据自己情况来开启
extension=bz2
extension=gd2
extension=mbstring
extension=mysqli
extension=pdo_mysql
  • 文件查找 upload_tmp_dir,修改临时上传目录 注意目录需要自己手动创建
upload_tmp_dir = "C:/Develop/Environment/PHP/Apache_PHP_One/PHP7/php_upload_tmp"
  • 文件查找 session.save_path,修改 session 数据存放目录 注意目录需要自己手动创建
session.save_path = "C:/Develop/Environment/PHP/Apache_PHP_One/PHP7/php_session_tmp"
  • 文件查找 date.timezone,修改默认时区
date.timezone = Asia/Shanghai

安装 apache 服务

  • 打开命令行窗口进行操作
进入apache的bin目录
cd Apache24/bin

安装 apache 服务
httpd.exe -k install -n "apache"

测试

  • 启动 apache 服务器
net start apache

apache 多端口虚拟目录映射配置

  • 修改 conf/httpd.conf,以下为参考配置
# 监听80端口
Listen 80
# 配置虚拟端口
<VirtualHost *:80>
    ServerName localhost
	# 端口映射的目录
    DocumentRoot "D:/Develop/Environment/PHP/Apache_PHP_One/WWW"
	# 映射目录的权限
	<Directory "D:/Develop/Environment/PHP/Apache_PHP_One/WWW">
		Options Indexes FollowSymLinks
		AllowOverride All
		Require all granted
	</Directory>
</VirtualHost>

Listen 2333
<VirtualHost *:2333>
    ServerName localhost
    DocumentRoot "D:/Develop/Environment/PHP/Apache_PHP_One/WWW"
	<Directory "D:/Develop/Environment/PHP/Apache_PHP_One/WWW">
		Options Indexes FollowSymLinks
		AllowOverride All
		Require all granted
	</Directory>
</VirtualHost>

Listen 9999
<VirtualHost *:9999>
    ServerName localhost
    DocumentRoot "D:\Develop\Environment\PHP\Apache_PHP_One\WWW\student\public"
	<Directory "D:\Develop\Environment\PHP\Apache_PHP_One\WWW\student\public">
		Options Indexes FollowSymLinks
		AllowOverride All
		Require all granted
	</Directory>
</VirtualHost>