Linux中PHP配置文件在哪里修改
小樊
42
2025-12-24 03:55:37
Linux中PHP配置文件位置与修改步骤
一、先确认要修改的配置文件
- 使用命令行快速定位:
- 查看加载的 ini 路径:
php -i | grep 'Loaded Configuration File'
- 查看所有 ini 信息:
php --ini
- 通过 PHP 脚本查看:
- 创建文件 info.php,内容为
<?php phpinfo(); ?>,访问后搜索 Loaded Configuration File。
- 注意区分 CLI 与 FPM/Apache 使用的 php.ini,它们可能不同;多版本并存时路径会包含版本号(如 /etc/php/8.1/cli/php.ini 与 /etc/php/8.1/fpm/php.ini)。
二、常见配置文件路径
- 系统级默认位置:/etc/php.ini
- 多版本并存(Debian/Ubuntu 常见):/etc/php/版本号/cli/php.ini、/etc/php/版本号/fpm/php.ini
- 编译安装或自定义路径:可能在 /usr/local/lib/php.ini 或 /usr/local/php/lib/php.ini
- 使用 PHP-FPM 时,除 php.ini 外,进程池配置通常在:/etc/php/版本号/fpm/pool.d/www.conf
- 若 php.ini 不存在,可从示例文件创建:
- 生产环境:
cp /etc/php.ini-production /etc/php.ini
- 开发环境:
cp /etc/php.ini-development /etc/php.ini
三、修改并使其生效
- 备份原文件:
sudo cp /etc/php.ini /etc/php.ini.bak
- 编辑配置:
sudo vim /etc/php/8.1/fpm/php.ini(路径按实际替换)
- 重启服务:
- PHP-FPM:
sudo systemctl restart php8.1-fpm
- Apache:
sudo systemctl restart apache2
- Nginx(仅重启 PHP-FPM 通常即可):
sudo systemctl restart php8.1-fpm
- 验证生效:
- 命令行:
php -i | grep memory_limit
- PHP 内:
<?php echo ini_get('memory_limit'); ?>
四、常见坑位与建议
- 修改后无效,多半是改错了 SAPI 的 php.ini(如改了 cli 而实际用的是 fpm),请确认与 Web 请求一致的 SAPI 配置。
- 多版本并存时,注意路径中的 版本号 与命令行的
php -v 输出保持一致。
- 某些发行版或安装方式可能未放置 php.ini,需从 php.ini-production/development 复制生成。
- 修改前务必备份,变更后重启对应服务,并用
phpinfo() 或 ini_get() 校验。