本文目录导读:

配置 PHP 项目的服务器运行参数通常分为两个层面:服务器软件 (Nginx/Apache) 配置 和 PHP 语言本身配置 (php.ini),以下是详细的操作指南。
核心配置文件 php.ini
这是 PHP 运行时的基础配置,修改后需要重启 Web 服务器(Nginx/Apache)或 PHP-FPM。
常见需要调整的参数:
; 上传文件限制 upload_max_filesize = 64M post_max_size = 64M ; 脚本执行时间限制 (秒) max_execution_time = 300 ; 内存限制 memory_limit = 512M ; 时区设置 date.timezone = Asia/Shanghai ; 错误报告 (生产环境建议关闭显示) display_errors = Off ; 开发环境可设为 On error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT ; 会话存活时间 session.gc_maxlifetime = 1440 ; 禁用危险函数 (安全加固) disable_functions = exec,passthru,shell_exec,system,proc_open,popen
配置文件位置:
- Linux:
/etc/php/8.x/cli/php.ini(CLI) 或/etc/php/8.x/fpm/php.ini(FPM) - Windows:
C:\php\php.ini - macOS (Homebrew):
/usr/local/etc/php/8.x/php.ini
Web 服务器配置
根据你使用的服务器软件进行配置。
A. Nginx + PHP-FPM(最常见方案)
编辑站点配置文件(如 /etc/nginx/sites-enabled/your-project):
server {
listen 80;
server_name your-domain.com;
root /var/www/your-project/public;
index index.php index.html;
# 关键参数
client_max_body_size 64M; # 允许上传大文件
keepalive_timeout 300;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_read_timeout 300; # PHP 执行超时
fastcgi_send_timeout 300;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
B. Apache 配置
编辑 .htaccess 或虚拟主机配置:
# 上传大小限制
<IfModule mod_php.c>
php_value upload_max_filesize 64M
php_value post_max_size 64M
</IfModule>
<IfModule mod_proxy.c>
# 代理超时
ProxyTimeout 300
</IfModule>
# 内存限制
php_value memory_limit 256M
PHP-FPM 配置(多版本 PHP 的核心)
文件位置:/etc/php/8.x/fpm/pool.d/www.conf
; 进程管理 pm = dynamic # 动态进程管理 pm.max_children = 50 # 最大进程数(根据服务器内存调整:每个进程约 20-50MB) pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 ; 请求超时 request_terminate_timeout = 300s ; 安全限制 security.limit_extensions = .php .phar ; 防止文件描述符耗尽 rlimit_files = 65535
调整 pm.max_children 的估算公式:
max_children ≈ 总内存 / (平均 PHP 进程内存)
8GB 内存服务器 / 50MB = 160
场景化配置示例
高并发 API 服务
; php.ini memory_limit = 128M max_execution_time = 30 opcache.enable=1 opcache.memory_consumption=128 ; FPM pool pm = static pm.max_children = 200
大文件上传系统
# Nginx client_max_body_size 500M; proxy_request_buffering off; # 禁止缓冲,节省内存 fastcgi_request_buffering off; # php.ini upload_max_filesize = 500M post_max_size = 600M
WordPress 站点
# Apache .htaccess php_value upload_max_filesize 100M php_value post_max_size 100M php_value memory_limit 256M php_value max_execution_time 300
验证配置生效
-
创建一个测试文件
info.php:<?php phpinfo();
-
检查关键配置:
Loaded Configuration File路径是否正确upload_max_filesize、max_execution_time是否符合预期Server API显示FPM/FastCGI或Apache 2.0 Handler
-
快速重载配置:
# Nginx + PHP-FPM sudo systemctl reload nginx sudo systemctl reload php8.1-fpm
Apache
sudo systemctl reload apache2
或
sudo service httpd graceful
---
### 6. 进阶技巧
- **分环境配置**:为开发/生产环境创建不同的 `php.ini` 副本
- **使用 `.user.ini`**:在每个项目根目录放置此文件,影响该目录及子目录
```ini
; 仅对当前项目生效
upload_max_filesize = 100M
- Docker 环境:通过环境变量或挂载配置文件覆盖
# Dockerfile 示例 COPY custom.ini /usr/local/etc/php/conf.d/
配置完成后,务必重启服务并验证,不同 PHP 版本(7.4/8.0/8.1)的配置项可能略有差异,建议参考对应版本的官方文档。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播