PHP 怎么php-pm

wen PHP项目 1

本文目录导读:

PHP 怎么php-pm

  1. 安装 PHP-PM
  2. 运行 PHP-PM
  3. 配置文件方式
  4. 配合 Nginx 使用
  5. 性能优化建议
  6. 监控和管理
  7. 注意事项
  8. 生产环境示例(Supervisor 配置)

PHP-PM(PHP Process Manager)是一个用于提升PHP应用性能的进程管理器,特别是针对PHP框架(如Laravel、Symfony等)的常驻内存运行。

安装 PHP-PM

系统要求

  • PHP 7.0+
  • Linux/Unix 系统(推荐)
  • Composer

使用 Composer 安装

# 全局安装
composer global require php-pm/php-pm
# 或项目内安装
composer require php-pm/php-pm

运行 PHP-PM

基本用法

# 运行 Laravel 应用
vendor/bin/ppm start --bootstrap=laravel public/index.php
# 运行 Symfony 应用
vendor/bin/ppm start --bootstrap=symfony web/app.php
# 使用不同端口
vendor/bin/ppm start --bootstrap=laravel --port=8080 public/index.php

常用参数

# 指定工作进程数(默认根据CPU核心数)
vendor/bin/ppm start --bootstrap=laravel --workers=4 public/index.php
# 以守护进程方式运行
vendor/bin/ppm start --bootstrap=laravel --daemonize public/index.php
# 显示调试信息
vendor/bin/ppm start --bootstrap=laravel --debug public/index.php
# 配置最大请求数(防止内存泄漏)
vendor/bin/ppm start --bootstrap=laravel --max-requests=1000 public/index.php

配置文件方式

创建 ppm.json 配置文件:

{
    "bridge": "php-pm/php-pm",
    "workers": 4,
    "bootstrap": "laravel",
    "port": 8080,
    "host": "0.0.0.0",
    "max-requests": 1000,
    "debug": false,
    "daemonize": true,
    "php-cgi": "/usr/bin/php-cgi"
}

然后使用配置文件运行:

vendor/bin/ppm start -c ppm.json

配合 Nginx 使用

配置 Nginx 反向代理到 PHP-PM:

server {
    listen 80;
    server_name example.com;
    root /var/www/project/public;
    location / {
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        # 转发到 PHP-PM
        proxy_pass http://127.0.0.1:8080;
    }
}

性能优化建议

调整 worker 数量

# 根据CPU核心数设置(通常为核心数1-2倍)
vendor/bin/ppm start --bootstrap=laravel --workers=8 public/index.php

使用静态文件缓存

# 启用静态文件缓存
vendor/bin/ppm start --bootstrap=laravel --static-cache public/index.php

调整内存限制

# 增加内存限制
vendor/bin/ppm start --bootstrap=laravel --memory-limit=512M public/index.php

会话管理

由于PHP-PM是常驻内存,建议:

  • 使用 Redis 或 Memcached 存储会话
  • 避免在本地变量中存储用户数据
  • 清理全局变量和静态变量

监控和管理

查看进程状态

# 查看进程列表
ps aux | grep ppm
# 查看端口占用
netstat -tlnp | grep 8080

停止 PHP-PM

# 停止所有 PHP-PM 进程
pkill -f "ppm start"
# 或使用命令停止
vendor/bin/ppm stop

重启 PHP-PM

# 重启所有进程
pkill -HUP -f "ppm start"

注意事项

  1. 代码修改后需要重启:由于是常驻内存,修改代码后需要重启才能生效
  2. 内存泄漏监控:定期检查进程内存使用情况
  3. 兼容性测试:确保框架和依赖库兼容常驻内存模式
  4. 环境配置:生产环境建议使用 supervisor 或 systemd 管理

生产环境示例(Supervisor 配置)

[program:php-pm]
command=/usr/local/bin/ppm start --bootstrap=laravel --workers=4 --port=8080 /var/www/project/public/index.php
directory=/var/www/project
autostart=true
autorestart=true
stderr_logfile=/var/log/ppm.err.log
stdout_logfile=/var/log/ppm.out.log

通过合理配置 PHP-PM,可以显著提升 PHP 应用性能,通常能获得 2-5 倍的性能提升。

抱歉,评论功能暂时关闭!