windows环境下php8.2+nginx的安装和配置

参考文档

安装参考的文档

php 的依赖管理

windows10 安装php-cgi.exe为服务

php8.2 的下载、安装和运行

下载

下载地址: https://windows.php.net/download/

PHP 分为 TS(Thread Safe)和 NTS(Non Thread Safe)版本;一般来说:

  • Apache + PHP 选 TS
  • IIS + PHP 或 Nginx + PHP 选 NTS

由于我们这里使用 Nginx,因此下载 NTS 版本:https://windows.php.net/downloads/releases/php-8.2.27-nts-Win32-vs16-x64.zip

安装

把下载后的zip压缩包解压到任意目录即完成了安装。强烈建议把安装目录加入环境变量中。

配置

在php安装目录下,复制一份 php.ini-development 为 php.ini。

修改 php.ini,去掉下面的注释(即:去掉前面的分号)

  • extension_dir = “D:/dev/php-8.2.27-nts/ext”
  • extension=gd
  • extension=mbstring
  • extension=mysqli
  • extension=openssl

说明:extension=XXX 表示扩展配置,非必须,根据实际情况开启即可。

运行

1# 启动方式一:
2cd D:\dev\php-8.2.27-nts
3php-cgi.exe -b 127.0.0.1:9000
4
5# 启动方式二:指定配置文件运行
6D:\dev\php-8.2.27-nts\php-cgi.exe -b 127.0.0.1:9000 -c D:\dev\php-8.2.27-nts\php.ini
7
8# 启动方式三:后台运行
9start D:\dev\php-8.2.27-nts\php-cgi.exe -b 127.0.0.1:9000 -c D:\dev\php-8.2.27-nts\php.ini

把 php-cgi 安装为系统服务

下载和安装 xxfpm

下载地址:https://github.com/78/xxfpm ,然后将下载的xxfpm.exe 和 pthreadGC2.dll 放到php-cgi.exe所在的目录

下载和安装 WinSW

https://github.com/winsw/winsw/releases 下载 WinSW;当前最新版本:https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW.NET461.exe

  1. 下载后,复制 WinSW.NET461.exe 到 php安装目录,并改名为:php-cgi-service.exe
  2. 在php目录下新建文件 php-cgi-service.xml (exe和xml的文件名要保持一致),内容如下:
     1<service>
     2    <id>php-cgi</id>
     3    <name>php-cgi</name>
     4    <description>php-cgi</description>
     5    <executable>xxfpm.exe</executable>
     6    <startargument>"D:/php/php-cgi.exe -c D:/php/php.ini"</startargument>
     7    <startargument>-n</startargument>
     8    <startargument>1</startargument>
     9    <startargument>-i</startargument>
    10    <startargument>127.0.0.1</startargument>
    11    <startargument>-p</startargument>
    12    <startargument>9000</startargument>
    13    <stopexecutable>taskkill</stopexecutable>
    14    <stopargument>/F</stopargument>
    15    <stopargument>/IM</stopargument>
    16    <stopargument>xxfpm.exe</stopargument>
    17    <logpath>logs</logpath>
    18</service>
    
  3. 服务的安装、启动、停止和卸载(需要以管理员身份运行cmd,并进入php的安装目录),执行:
    • 安装服务:php-cgi-service.exe install
    • 启动服务:sc start php-cgi
    • 停止服务:sc stop php-cgi
    • 卸载服务:php-cgi-service.exe uninstall

nginx 的下载、安装和运行

下载

安装

配置

修改 nginx.conf,示例如下:

 1    server {
 2        listen       80;
 3        server_name  demo.zcily.com;
 4    
 5        location / {
 6            root   D:/tmp/php-demo;
 7            index  index.php index.html index.htm;
 8        }
 9    
10        location ~ \.php$ {
11            root           D:/tmp/php-demo;
12            fastcgi_pass   127.0.0.1:9000;
13            fastcgi_index  index.php;
14            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
15            include        fastcgi_params;
16        }
17    }

运行

1cd D:\dev\nginx-1.25.3
2start nginx.exe

测试

上面的nginx指定root目录为D:/tmp/php-demo,所以我们的工程目录即为D:/tmp/php-demo

在此目录下创建index.php文件,内容如下:

1<?php
2    phpinfo();
3?>

在浏览器中访问:http://demo.zcily.com ,如果能正常看到 php 的安装和配置信息,表示运行成功。

php的依赖管理工具 Composer 的安装和使用

Composer的介绍请参考:https://docs.phpcomposer.com/00-intro.html

安装和配置 Composer

Composer在网上有详细的安装方法介绍,都是通过exe进行安装。本人无意中看到一种免安装的方法:

https://blog.csdn.net/weixin_42571089/article/details/119974441

经测试可用。方法如下:

  1. https://getcomposer.org/download/ 下载 composer.phar,最新版本的下载地址为:https://getcomposer.org/download/2.8.4/composer.phar 。下载至php安装目录即可。
  2. 在php安装目录中新建composer.bat文件,内容如下:
    1@php "%~dp0composer.phar" %*
    
  3. 把php安装目录添加到系统环境变量中
  4. php.ini文件去掉extension=openssl的注释

验证:在cmd中运行composer –version,看到如下内容说明配置成功!

1C:\Users\zhangcong>composer --version
2Composer version 2.8.4 2024-12-11 11:57:47
3PHP version 8.2.27 (D:\dev\php-8.2.27-nts\php.exe)
4Run the "diagnose" command to get more detailed diagnostics output.

使用 Composer

我们以安装 laravel 为例进行测试

1# 安装最新的 laravel 到 blog 目录
2composer create-project --prefer-dist laravel/laravel blog
3
4# 安装指定版本的 laravel 到 bbs 目录
5composer create-project --prefer-dist laravel/laravel bbs "9.*"

安装完毕后,指定的目录下面已经生成了相关文件了。

Composer 切换国内源

如果 Composer 安装依赖缓慢,可设置为国内源:

1composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/