温馨提示×

Linux中PHP配置文件在哪编辑

小樊
39
2025-11-24 14:15:28
栏目: 编程语言

Linux中PHP配置文件位置与编辑方法

一、先定位实际加载的 php.ini

  • 使用命令行快速查看:运行 php --ini,在输出中关注两行:Configuration File (php.ini) Path(搜索路径)与 Loaded Configuration File(实际加载的配置文件)。示例:
    Configuration File (php.ini) Path: /etc/php/8.1/cli
    Loaded Configuration File: /etc/php/8.1/cli/php.ini
    Scan for additional .ini files in: /etc/php/8.1/cli/conf.d
    
    也可用 php -i | grep ‘Loaded Configuration File’ 直接得到已加载的 ini 路径。
  • 通过 PHP 脚本确认:创建 info.php,内容为 ,在浏览器访问该文件,搜索 Loaded Configuration File 即可看到实际路径。

二、常见默认路径与 SAPI 对应关系

  • 不同 SAPI(命令行、FPM、Apache 模块)可能使用不同的 php.ini,路径通常位于 /etc/php/<版本号>//php.ini。常见示例:
    • 命令行 CLI:/etc/php/<版本号>/cli/php.ini
    • PHP-FPM:/etc/php/<版本号>/fpm/php.ini
    • Apache 模块:/etc/php/<版本号>/apache2/php.ini
    • 兼容旧版或特殊安装:/etc/php.ini/usr/local/lib/php.ini 若系统存在多个 PHP 版本(如 7.4/8.1 并存),务必确认修改的是 Web 服务(通常为 FPM)对应的版本目录。

三、编辑与生效步骤

  • 编辑文件(以实际路径为准,使用 sudo 提升权限):
    sudo nano /etc/php/8.1/fpm/php.ini
    # 或
    sudo vim /etc/php/8.1/cli/php.ini
    
  • 使配置生效:
    • 修改 FPM 后重启服务:sudo systemctl restart php<版本号>-fpm(如:php8.1-fpm)。
    • 修改 Apache 模块 后重启服务:sudo systemctl restart apache2
    • 仅修改 CLI 时,无需重启服务,新开终端即可生效。
  • 验证是否生效(示例):
    php -i | grep memory_limit
    # 或在 PHP 脚本中:
    <?php echo ini_get('memory_limit'); ?>
    
    若使用 Nginx + PHP-FPM,确保 NginxPHP-FPM 均配置正确并重启对应服务。

四、找不到 php.ini 或需新建时的处理

  • Loaded Configuration File 显示 (none) 或文件不存在,可从发行版提供的示例文件复制:
    # 生产环境
    sudo cp /usr/lib/php/php.ini-production /etc/php/8.1/fpm/php.ini
    # 或开发环境
    sudo cp /usr/lib/php/php.ini-development  /etc/php/8.1/fpm/php.ini
    
    复制后再编辑并重启相应服务。路径中的 <版本号> 请替换为你的实际版本(如 8.1)。

0