如何修改Debian PHP配置
小樊
43
2025-11-29 06:41:46
Debian 修改 PHP 配置的完整步骤
一 准备与定位配置文件
- 确认 PHP 版本与 SAPI:运行 php -v 查看版本;运行 php -m | grep -E ‘apache2|fpm|cli’ 确认当前使用的 SAPI(如 apache2、fpm、cli)。
- 查找 php.ini 路径:运行 php --ini,关注 “Loaded Configuration File” 与 “Configuration File (php.ini) Path”。常见路径为:
- Apache:/etc/php/{version}/apache2/php.ini
- PHP-FPM:/etc/php/{version}/fpm/php.ini
- CLI:/etc/php/{version}/cli/php.ini
- 备份原始配置:例如 sudo cp /etc/php/8.2/fpm/php.ini /etc/php/8.2/fpm/php.ini.bak。
- 原则:修改哪一端就改对应的 php.ini(Web 请求看 apache2/fpm,命令行看 cli)。
二 修改 php.ini 常用参数
- 编辑对应 SAPI 的 php.ini(以 /etc/php/{version}/{sapi}/php.ini 为例):
- 内存与执行:
- memory_limit = 256M
- max_execution_time = 300
- 上传与 POST:
- upload_max_filesize = 50M
- post_max_size = 50M(应 ≥ upload_max_filesize)
- 时区:
- date.timezone = Asia/Shanghai
- 错误报告(生产建议关闭显示、开启日志):
- display_errors = Off
- log_errors = On
- error_log = /var/log/php_errors.log
- 使配置生效:
- Apache:sudo systemctl restart apache2
- Nginx + PHP-FPM:sudo systemctl restart php{version}-fpm && sudo systemctl restart nginx
- 验证:
- CLI:运行 php -i | grep memory_limit(或 grep 其他指令)
- Web:创建 /var/www/html/info.php 内容为 ,访问确认。
三 使用 PHP-FPM 与 Web 服务器集成
- 安装与启用:
- sudo apt install php{version}-fpm
- 启动与开机自启:sudo systemctl start php{version}-fpm && sudo systemctl enable php{version}-fpm
- 调整 FPM 进程池(按需):编辑 /etc/php/{version}/fpm/pool.d/www.conf
- 进程管理:pm = dynamic
- 并发与回收:pm.max_children = 50、pm.start_servers = 5、pm.min_spare_servers = 5、pm.max_spare_servers = 35
- Web 服务器与 FPM 对接:
- Nginx 示例:
- location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php{version}-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
- 检查并重载:sudo nginx -t && sudo systemctl reload nginx
- Apache 示例(启用 proxy_fcgi 后):
- <FilesMatch .php$> SetHandler “proxy:unix:/run/php/php{version}-fpm.sock|fcgi://localhost”
- 重载:sudo systemctl reload apache2
- 说明:FPM 监听可为 Unix socket(如 /run/php/php{version}-fpm.sock)或 TCP 127.0.0.1:9000,两者在 Nginx/Apache 中对应配置即可。
四 进阶优化与安全
- 启用 OPcache(强烈建议):
- 安装:sudo apt install php{version}-opcache
- 配置(php.ini 的 [opcache] 段):
- opcache.enable=1
- opcache.memory_consumption=128
- opcache.interned_strings_buffer=8
- opcache.max_accelerated_files=4000
- opcache.revalidate_freq=60
- 生产环境安全:
- 关闭错误显示:display_errors = Off;开启日志:log_errors = On;自定义日志路径并确保可写。
- 目录限制(可选):在 php.ini 设置 open_basedir 或在 .htaccess 使用 php_value open_basedir 限制脚本访问范围。
- 调试扩展(仅开发):安装 php-xdebug 并在 php.ini 中配置 zend_extension=xdebug.so、xdebug.mode=debug、xdebug.client_host=127.0.0.1、xdebug.client_port=9003,重启服务后配合 IDE 使用。