windows 系统,PHP+Nginx 环境搭建
本次选用各中间件的最新版本。
Nginx-1.23.2 + PHP 8.2.0 + Mysql 8.0.31。
先去各自官网下载 windows 对应的安装包备用。
PHP 安装
解压安装包
配置
-
在解压的目录下复制
php.ini-development
到php.ini
作为正式的配置文件。 -
设置常用信息
-
memory_limit = 128M
(脚本可用的最大内存) -
error_reporting = E_ALL
(显示错误等级) -
display_errors = On
(是否显示错误) -
post_max_size = 8M
(post 提交的最大容量) -
file_uploads = On
(是否可以上传文件) -
upload_max_filesize = 2M
(最大上传文件大小) -
max_file_uploads = 20
(最多上传文件数量) -
date.timezone = Asia/Shanghai
(设置时区)
-
-
开启需要的扩展,常用扩展默认都包含,不需要去掉前面的注释
Mysql 安装
解压安装包
安装&配置
-
以管理员身份运行
cmd
切到解压后的 bin 目录 -
执行
mysqld -install
进行安装,完成后会提示 Service successfully installed. -
执行
mysqld--initialize-insecure --user=mysql
初始化数据库-
完成后会生成 data 目录
-
并在 data 目录中 xxx.err 文件中记录初始账号密码信息
-
-
把 bin 目录加入环境变量中
-
解压目录下新建
my.ini
文件,根据需求记入配置信息[mysqld] basedir=D:\TOOLS\PHP-DEV\mysql-8.0.31 datadir=D:\TOOLS\PHP-DEV\mysql-8.0.31\data port=3306
确认
-
执行
net start mysql
启动 mysql 服务 -
cmd 中或者其他客户端工具连接 mysql 测试
-
重置 root 密码,然后退出用新密码再次登录确认
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
其他设置
-
查看编码
mysql> show variables like "%char%";
-
根据需求更改编码
Nginx 安装
解压安装包
启动确认
-
cmd 中切到 nginx 解压目录下,执行
nginx.exe
可启动服务-
nginx.exe -s stop
快速停止服务 -
nginx.exe -s quit
有序停止服务 -
nginx.exe -s reload
重新加载配置文件 -
nginx.exe -s reopen
重新打开日志文件
-
-
浏览器地址栏输入 localhost 出现 nginx 提示信息
配置
server {
# 监听端口
listen 80;
# 项目域名
server_name dev-industry.me;
# 编码格式
charset utf-8;
# 针对当前项目的 access log 记录文件
access_log logs/dev-industry.me.access.log;
location / {
# 项目根目录
root D:/projects-local/php-demo;
# 默认可访问的文件
index index.html index.htm index.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# 项目根目录
root D:/projects-local/php-demo;
# fastcgi 监听端口,如果被占用就换一个
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
让项目跑起来
-
Nginx 需要通过 fastcgi 才能解析 PHP 文件,所以需要启动 fastcgi。
-
cmd 切到 php 解压目录,执行
php-cgi.exe -b 127.0.0.1:9001 -c php.ini
启动 cgi -
在系统盘找到 hosts 文件,加入
127.0.0.1 dev-industry.me
-
地址栏访问自定义的域名,即可看到项目内容
项目中用到其他设置再慢慢补充。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2016-12-13 微信开发初探
2016-12-13 PHP中json_encode与json_decode