电商网站开发环境,网站搭建平台,网站建设开发报价方案模板,建立起以什么会晤机制为引领Windows 环境下 Nginx、PHP 与 ThinkPHP 开发环境搭建
目录
安装 Nginx 和 PHP配置 Nginx配置 PHP启动服务ThinkPHP 配置常见问题排查
1. 安装 Nginx 和 PHP
安装 Nginx
访问 Nginx 官网 下载 Windows 版本解压到指定目录#xff0c;如 C:\nginx
安装 PHP
访问 PHP 官网…Windows 环境下 Nginx、PHP 与 ThinkPHP 开发环境搭建
目录
安装 Nginx 和 PHP配置 Nginx配置 PHP启动服务ThinkPHP 配置常见问题排查
1. 安装 Nginx 和 PHP
安装 Nginx
访问 Nginx 官网 下载 Windows 版本解压到指定目录如 C:\nginx
安装 PHP
访问 PHP 官网 下载 PHP推荐 PHP 7.4 或更高版本选择 Non Thread Safe (NTS) x64 版本解压到指定目录如 C:\php
2. 配置 Nginx
基本配置
编辑 nginx/conf/nginx.conf 文件
#user nobody;
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root C:/wwwroot/phpnginx/thinkphp_layui/public;index index.html index.htm index.php;# ThinkPHP 伪静态规则if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s$1 last;break;}}# 启用 PHP 脚本处理location ~ \.php$ {root C:/wwwroot/phpnginx/thinkphp_layui/public;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;fastcgi_buffers 16 16k;fastcgi_buffer_size 32k;}}
}注意事项
路径使用正斜杠 / 而非反斜杠 \确保 root 指向正确的 ThinkPHP 项目 public 目录伪静态规则对 ThinkPHP 路由至关重要
3. 配置 PHP
创建 php.ini 文件
复制 PHP 目录中的 php.ini-development 为 php.ini编辑 php.ini 文件启用必要的扩展
extension_dir ext; 取消以下扩展前的注释删除分号
extensioncurl
extensionfileinfo
extensiongd
extensionmbstring
extensionopenssl
extensionpdo_mysql
extensionmysqli; 设置时区
date.timezone Asia/Shanghai配置 PHP-FPM
在 PHP 目录中找到 php-fpm.conf.default复制为 php-fpm.conf编辑 php-fpm.conf确保监听地址为
listen 127.0.0.1:90004. 启动服务
启动 PHP-FPM
打开命令提示符执行
cd C:\php
php-cgi.exe -b 127.0.0.1:9000或者如果使用 PHP-FPM
cd C:\php
php-fpm.exe启动 Nginx
打开新的命令提示符执行
cd C:\nginx
start nginx5. ThinkPHP 配置
项目目录结构
确保 ThinkPHP 项目结构如下
thinkphp_layui/
├── app/
├── config/
├── extend/
├── public/
│ ├── index.php
│ ├── static/
│ └── ...
├── runtime/
├── vendor/
└── ...数据库配置
编辑 config/database.php 文件
return [// 默认使用的数据库连接配置default env(database.driver, mysql),// 数据库连接配置信息connections [mysql [// 数据库类型type env(database.type, mysql),// 服务器地址hostname env(database.hostname, 127.0.0.1),// 数据库名database env(database.database, thinkphp),// 用户名username env(database.username, root),// 密码password env(database.password, ),// 端口hostport env(database.hostport, 3306),// 数据库连接参数params [],// 数据库编码默认采用utf8charset env(database.charset, utf8),// 数据库表前缀prefix env(database.prefix, ),],],
];环境配置
在项目根目录创建 .env 文件
APP_DEBUG true[DATABASE]
TYPE mysql
HOSTNAME 127.0.0.1
DATABASE thinkphp
USERNAME root
PASSWORD your_password
HOSTPORT 3306
CHARSET utf8
PREFIX tp_6. 常见问题排查
“No input file specified” 错误
检查 Nginx 配置中的 root 路径是否正确确保 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 配置正确检查 PHP-FPM 是否正在运行
PHP 扩展缺失
如果安装页面提示缺少扩展编辑 php.ini 文件启用相应扩展然后重启 PHP-FPM。
权限问题
确保 Nginx 和 PHP-FPM 有足够权限访问项目文件。
日志检查
Nginx 错误日志C:\nginx\logs\error.logPHP 错误日志在 php.ini 中配置 error_log 指令
端口冲突
如果 80 端口被占用可以修改 Nginx 配置使用其他端口如 8080。
Nginx 常用命令
重新加载配置nginx -s reload停止服务nginx -s stop测试配置文件nginx -t
设置为 Windows 服务可选
使用 NSSM 工具可以将 Nginx 和 PHP-FPM 设置为 Windows 服务实现开机自启动。