php.ini中如何配置FastCGI
时间: 2024-10-08 18:01:11 浏览: 35
在PHP.ini中配置FastCGI,主要是针对Apache的mod_fcgid模块或者Nginx的FastCGI Process Manager (FPM)。以下是两个常用配置项的例子:
### 对于Apache+mod_fcgid:
1. **`fcgiwrapper.fcgi`**: 指定FastCGI守护进程启动脚本的位置,默认通常为`/usr/bin/php-fcgi`。如果需要修改,更改这里的路径。
```ini
fastcgi.impersonate = Off
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
fastcgi_pass unix:/var/run/php-fcgi.sock; // 修改为实际的Unix socket路径
```
2. **`max_children`** 和 **`min_spare_servers`** / **`max_spare_servers`**: 设置处理请求的子进程数量以及最低和最高空闲子进程数。
```ini
fastcgi_max_children=50
fastcgi_min_spare_servers=25
fastcgi_max_spare_servers=75
```
3. **`request_terminate_timeout`**: 子进程处理超时时间,超过此时间则会终止。
```ini
request_terminate_timeout=600
```
### 对于Nginx+FPM:
1. **`listen`** 和 **`pm`** 配置: 通常是`listen 127.0.0.1:9000;`,表示监听本地9000端口。`pm = dynamic` 或 `pm = ondemand` 可选择工作模式。
```ini
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 35
```
2. **`pm.max_requests`**: 容许每个子进程处理的请求数,达到后自动重启。
```ini
pm.max_requests = 5000
```
记得每次更改php.ini文件后,需要重启相应的服务让新的配置生效。如果你不确定怎么操作,可以通过命令行工具如`service php-fpm restart` 或 `sudo systemctl restart nginx` 来执行重启操作。
阅读全文