php.ini 文件路径需通过 php --ini 查看“loaded configuration file”行确定:remi 安装的 php 8.1 默认为 /etc/php.ini,但若使用 php81-php 等带前缀包,则可能在 /etc/opt/remi/php81/php.ini;web 环境须用 phpinfo() 验证,且 cli 与 fpm 配置完全隔离。

php.ini 文件在哪?先确认加载路径
直接运行 php --ini,看输出里 “Loaded Configuration File” 指向哪。Remi 安装的 PHP 8.1 默认是 /etc/php.ini;但如果你用的是 php81-php 这类带前缀的包(比如从 php:remi-8.1 模块启用后又单独装了 php81-php-cli),配置文件可能在 /etc/opt/remi/php81/php.ini。别猜,必须查。
修改 memory_limit 和 opcache.enable 等关键项
很多 PHP 应用启动失败或报 500,根源就是 memory_limit 太小或 opcache.enable 关着。打开对应 php.ini 后重点改这几行:
-
memory_limit = 256M(不建议低于 128M;设为-1表示不限制,生产环境慎用) -
upload_max_filesize = 64M和post_max_size = 64M(需同时调大,且后者 ≥ 前者) -
date.timezone = Asia/Shanghai(不设会导致 strtotime() 等函数警告) -
opcache.enable = 1(Remi 的php-opcache包已自带配置,但此项必须显式开)
扩展没生效?检查 /etc/php.d/ 下的 ini 文件
Remi 安装的扩展(如 php-mysqlnd、php-gd)默认不写进主 php.ini,而是通过独立文件控制。查看 /etc/php.d/ 目录:
- 存在
20-mysqlnd.ini且内容含extension=mysqli→ 扩展已启用 - 若缺某扩展(比如要加
redis),先装包:sudo dnf install php-pecl-redis,它会自动在/etc/php.d/写好40-redis.ini - 手动新建 ini 文件时,文件名必须以数字开头(如
50-custom.ini),否则不会被加载
改完不生效?重启服务顺序不能错
PHP 配置变更是否生效,取决于你用的是哪种 SAPI:
- 命令行(CLI):改完
php.ini后,直接运行php -v或php -m就能验证 - Web 场景(Nginx + php-fpm):必须重启
php-fpm,不是nginx:sudo systemctl restart php-fpm - Apache + libphp:得重启
httpd,但 CentOS 8 上 Remi 默认不装libphp,所以基本不用考虑这个路径
最容易忽略的是:改了 /etc/php-fpm.d/www.conf 里的 php_admin_value[memory_limit],它会覆盖 php.ini 里的设置,优先级更高。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











