- 序
- 相关配置下载
- 背景
- 测试环境
- 安装之前的注意事项
- Apache 安装与配置
- Apache 配置文件(
Apache24/conf/httpd.conf) - 虚拟主机配置文件 (
Apache24/extra/httpd-vhosts.conf)
- PHP 安装与配置
- 下载 PHP
- Thread Safe 和 Non Thread Safe 的 区别
- 配置
php.ini - 检查配置
- 安装 Apache 服务并启动
- MySQL 安装
- 下载 MySQL 最新版
- 新建
My.ini 配置文件 - 安装 MySQL 服务并启动
- 一些问题
- 相关脚注解释
序
PHP 环境,是 HTTP 服务器、PHP 和 数据库软件的集合体,一般可以简写成 LAMP,即 Linux + Apache + MySQL+ PHP 组合而成。
通常一般学习或者小型项目,可以直接使用 集成环境 形如:PHPStudy ,XAMPP 诸如此类的 “All in One” 环境。
但如果需要进行大型项目或者对配置文件有较高 DIY 需求,也允许直接按模块进行安装配置,本文按 Windows 10 环境进行原生模块安装 PHP 环境。
相关配置下载
如果想直接套用本文的配置,也提供链接下载:蓝奏云
PHP 8.0 版本发布,本文编写的配置环境是 7.4,只需要小部分修改就可以使用。
背景
编者刚开始学习 PHP 时用的是 PHPStudy,之后接触到许多集成环境,虽然各有千秋、百家争鸣,总觉得集成环境有一种“束缚”捆绑,直接从官网下载最新版使用,切实地从配置文件入手,让人安心许多。
测试环境
- Windows 10 20H2 专业版 x64 (19042.572)
- Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
- Hyper Terminal (可选)
- 默认环境安装在
D:\PHPEnv\目录下
安装之前的注意事项
涉及 Windows 服务的安装,可能需要 VC15 运行库,可以在微软官网按需下载,也可以直接安装 运行库合集。
Apache 安装与配置
Apache 官网 只提供 windows 版的源码,不提供二进制可执行文件 ,我们可以去 Apache Haus 下载二进制文件进行安装。
点击 Download Locations下任意一个图标即可下载,注意 32 位和 64 位的区别,一般新 CPU 大多数是 64 位 CPU,如编者的 i5 7代核心是 64 位 CPU,可以兼容 32位 的程序。
得到一个 zip压缩包,形如:
将 Apache24 目录解压到 D:\PHPEnv 下,环境根目录可以任意指定,需要注意目录路径不允许出现中文。
Apache 配置文件(Apache24/conf/httpd.conf)
由于 Apache 配置文件过于冗长,具体详细调教方法可以参考其他文章,这里展示缩减后的配置文件(这里只展示主要部分,完整配置请下载使用,具体请参看 相关配置下载)。
# Apache24.conf file
# General Settings
Define SRVROOT "D:/PHPEnv/Apache24" # 定义Apache 根目录
ServerRoot "${SRVROOT}"
ServerName localhost # 服务名
Define ENABLE_TLS13 "Yes"
Listen 80 # 监听80端口,如果被占用可以使用 8080 端口
# PHP74 Config
# PHP 8.0 修改为 php8apache2_4.dll
LoadModule php_module "D:/PHPEnv/PHP74/php7apache2_4.dll" # 定义 PHP7 模块路径
AddType Application/x-httpd-php .php # 添加 PHP格式
PHPIniDir "D:/PHPEnv/PHP74" #定义 PHP 根目录
<Directory /> # 具体配置含义参考其他文章
AllowOverride all
Options Indexes FollowSymLinks
Require all granted
</Directory>
<Directory "H:/WWW"> # 定义网站根目录
AllowOverride all
Options Indexes FollowSymLinks
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.html index.php index.htm
</IfModule>
<Files ".ht*">
Require all granted
</Files>
# Virtual hosts
Include conf/extra/httpd-vhosts.conf # 启用虚拟主机文件
为了方便,将网站根目录映射成虚拟主机,原是允许一个服务器运行多个网站的设计。
<VirtualHost *:80>
ServerAdmin localhost
DocumentRoot "H:/WWW"
ServerName localhost
<Directory "H:/WWW">
Options Indexes FollowSymLinks Includes ExecCGI
</Directory>
</VirtualHost>
PHP 安装与配置
下载 PHP
由于 Apache 的 安装需要事先配置好 PHP,前往 windows.php.net 下载最新版。
近期发布了 PHP 8.0,本文撰写时版本还未发布,所以只介绍 7.4 版。
Thread Safe 和 Non Thread Safe 的 区别
参考原文:
TS refers to multithread capable builds. NTS refers to single thread only builds. Use case for TS binaries involves interaction with a multithreaded SAPI and PHP loaded as a module into a web server. For NTS binaries the widespread use case is interaction with a web server through the FastCGI protocol, utilizing no multithreading (but also for example CLI).
大致意思是 TS 版以模块 (moudule) 方式加载到网站服务器(Apache),NTS 版通过 FastCGI 协议与网站服务器建立联系。前者大多应用于 Apache,后者搭配 Nginx 使用,本文使用 Thread Safe 版以模块形式使用 PHP(上图 VC15 x64 Thread Safe)。
下载后如图:
将压缩包所有文件解压到 D:\PHPEnv\PHP74,路径与 httpd.conf 配置要一致。
配置 php.ini
在 PHP根目录(PHP74)新建 php.ini,或者复制 php.ini-development 重命名为 php.ini,右键选择编辑进入配置文件,同样由于篇幅限制只展示一部分主要配置,具体请参看 相关配置下载。
[PHP]
engine = On # 启动引擎
short_open_tag = Off # 关闭短标签
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL # 错误报告开启全部提示
post_max_size = 2048M # POST 最大文件大小
default_mimetype = "text/html"
default_charset = "UTF-8" # 默认文件编码
extension_dir = "./"
extension_dir = "D:/PHPEnv/PHP74/ext" # PHP 插件路径
enable_dl = Off
upload_max_filesize = 2048M # 上传最大文件大小
max_file_uploads = 20
extension=curl
extension=fileinfo
extension=gd2
extension=mbstring
extension=mysqli
extension=pdo_mysql
extension=sockets
[Date]
date.timezone = Asia/Shanghai # 默认时区设置(中国上海)
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off
[mbstring]
mbstring.language = Chinese # 检查字数语言(中文)
检查配置
管理员身份打开 Hyper Terminal 或 命令提示符(任意一个 Terminal 都可以),cd 命令跳转到 Apache24\bin,Windows 跳转盘符命令 D: (D 是目标盘符,其他形如 C: E:,参考机器配置)。
检查 Apache 配置 httpd -t,显示 Syntax OK 说明配置无误。
安装 Apache 服务并启动
httpd -k install -n Apache24 进行安装,-n 后面跟服务名(可以自己定义),不填默认为 Apache2.4
net start Apache24 开启服务。
至此 Apache 和 PHP 已经安装完成,在网站根目录(H:\WWW)新建 phpinfo.php,
输入 <?php phpinfo(); ?> 保存,进入浏览器输入 localhost\phpinfo.php 查看效果。
MySQL 安装
下载 MySQL 最新版
前往 MySQL官网 下载 MySQL,官网提供两种安装方式:
-
安装器 MySQL Installer for Windows.msi
-
归档压缩包 Windows (x86, 64-bit), ZIP Archive
本文选择压缩包安装,选择右边 download 按钮下载
下载后得到如图文件内容:
上图 A temporary password is generated for root@localhsot: 除去空格就是初始密码,需要记住。
继续输入 mysqld --install MySQL80 安装服务,提示 Service successfully installed 表示安装成功。
输入 net start MySQL80 启动数据库服务。
输入 mysql -u root -p 进入 MySQL CLI,回车提示输入初始密码,进行密码设定:
输入 ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
密码自己写,提示 Query OK, 0 rows affected (0.10 sec) 说明已经完成修改。
输入 exit; 退出,再次进入就可以使用新密码了。
至此,所有配置已完成,可以使用了。
一些问题
一般注意 以管理员身份运行 打开终端,事先安装 VC15 就没有问题了。
相关脚注解释
来源:https://www.cnblogs.com/rihciowei/p/phpenv-in-windows.html |