Windows环境下Nginx、PHP与ThinkPHP开发环境搭建
- 开源代码
- 2025-09-12 15:42:01

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:/ root/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:/ root/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" ; 取消以下扩展前的注释(删除分号) extension=curl extension=fileinfo extension=gd extension=mbstring extension=openssl extension=pdo_mysql extension=mysqli ; 设置时区 date.timezone = Asia/Shanghai 配置 PHP-FPM 在 PHP 目录中找到 php-fpm.conf.default,复制为 php-fpm.conf编辑 php-fpm.conf,确保监听地址为: listen = 127.0.0.1:9000 4. 启动服务 启动 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 nginx 5. 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' => [], // 数据库编码默认采用utf8 'charset' => 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 服务,实现开机自启动。
Windows环境下Nginx、PHP与ThinkPHP开发环境搭建由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Windows环境下Nginx、PHP与ThinkPHP开发环境搭建”