Windows上如何启动PHP-FPM? 结合Ngnix使用

2025-03-13

在 Windows 上启动 PHP-FPM 的步骤相对简单,但需要一些手动配置。以下是详细步骤:

1. 确保 PHP 已正确安装

  1. PHP 官方网站 下载适用于 Windows 的 ZIP 包(推荐下载 Thread Safe 版本)。
  2. 解压到一个目录,例如 C:\php
  3. 确保 php.exe 可以正常运行。在命令提示符中运行以下命令:
    “`bash
    C:\php\php.exe -v
    “`
    如果看到 PHP 版本信息,则说明 PHP 已正确安装。

2. 配置 PHP-FPM

PHP-FPM 在 Windows 下没有默认的 php-fpm.conf 文件,因此需要手动创建或配置。

  1. 创建 php-fpm.conf 文件
    – 在 C:\php 目录下创建一个名为 php-fpm.conf 的文件。
    – 添加以下基本配置内容:
    “`ini
    [global]
    pid = run/php-fpm.pid

    [www]
    listen = 127.0.0.1:9000
    listen.allowed_clients = 127.0.0.1
    user = nobody
    group = nobody
    pm = dynamic
    pm.max_children = 5
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3
    “`
    – 说明:
    listen:指定 PHP-FPM 监听的地址和端口。
    listen.allowed_clients:允许访问 PHP-FPM 的客户端。
    pm:进程管理方式(dynamicstatic)。
    pm.max_children:最大子进程数。
    usergroup:运行 PHP-FPM 的用户和组(Windows 下可以忽略)。

  2. 配置 php.ini 文件
    – 找到 php.ini 文件(通常在 C:\php 目录下)。
    – 确保以下配置已启用:
    “`ini
    extension_dir = “C:\php\ext” ; 指定扩展库目录
    “`
    – 启用必要的扩展(如 mysqlipdo_mysql 等):
    “`ini
    extension=mysqli
    extension=pdo_mysql
    “`

3. 启动 PHP-FPM

在命令提示符中,导航到 PHP 安装目录,运行以下命令启动 PHP-FPM:
“`bash
C:\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\php\php.ini
“`
– 参数说明:
-b 127.0.0.1:9000:指定监听地址和端口。
-c C:\php\php.ini:指定 php.ini 配置文件路径。

如果看到命令提示符窗口保持打开状态且没有报错,说明 PHP-FPM 已成功启动。

4. 配置 Nginx 以使用 PHP-FPM

编辑 Nginx 的配置文件(nginx.conf),添加以下内容:
“`nginx
server {

listen 80;
server_name localhost;
root C:/wwwroot;  # 替换为你的网站根目录

location / {
    index index.php index.html;
}

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;  # PHP-FPM 监听地址
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

}
“`

5. 测试 PHP-FPM

  1. 在网站根目录(如 C:\wwwroot)中创建一个名为 info.php 的文件,内容如下:
    “`php
    <?php
    phpinfo();
    ?>
    “`
  2. 打开浏览器,访问 http://localhost/info.php
  3. 如果看到 PHP 信息页面,则说明 PHP-FPM 已成功启动且 Nginx 配置正确。

注意事项

  1. 保持 PHP-FPM 运行
    – PHP-FPM 运行时会占用命令提示符窗口。如果关闭窗口,PHP-FPM 会停止运行。
    – 可以使用任务管理器查看 php-cgi.exe 是否在运行。
  2. 后台运行 PHP-FPM
    – 如果需要后台运行 PHP-FPM,可以使用 Windows 任务计划程序或第三方工具(如 nssm)将其作为服务运行。
  3. 防火墙设置
    – 如果遇到连接问题,请确保防火墙允许本地端口 9000 的通信。

通过以上步骤,你可以在 Windows 上成功启动 PHP-FPM 并与 Nginx 配合运行。

老周

孤独、漂泊、流浪天涯

文章评论