温馨提示×

centos php配置如何恢复

小樊
43
2025-12-17 10:32:54
栏目: 编程语言

按先备份、再定位、后恢复的顺序执行,可安全把 PHP 配置还原到默认或备份状态。


一、快速恢复流程

  • 备份当前配置
    • 查看正在使用的配置文件路径:运行 php --ini,记录 Loaded Configuration FileScan this dir for additional .ini files 的路径。
    • 备份主配置与扩展配置:
      • 主配置:sudo cp /etc/php.ini /etc/php.ini.bak
      • 扩展配置:sudo cp /etc/php.d/*.ini /etc/php.d/*.ini.bak
      • 如使用 PHP-FPM:sudo cp /etc/php-fpm.conf /etc/php-fpm.conf.bak;sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bak
  • 恢复到备份
    • 主配置:sudo cp /etc/php.ini.bak /etc/php.ini
    • 扩展配置:sudo cp /etc/php.d/*.ini.bak /etc/php.d/*.ini
    • PHP-FPM:sudo cp /etc/php-fpm.conf.bak /etc/php-fpm.conf;sudo cp /etc/php-fpm.d/www.conf.bak /etc/php-fpm.d/www.conf
  • 使配置生效
    • Apache:sudo systemctl restart httpd
    • Nginx + PHP-FPM:sudo systemctl restart nginx;sudo systemctl restart php-fpm
  • 验证
    • 创建临时文件 /var/www/html/info.php,内容:
    • 访问 http://服务器IP/info.php,核对 Loaded Configuration File 是否为期望路径,确认无报错后再删除该文件。

二、没有备份时的两种恢复方式

  • 方式A:重装 PHP 相关包(推荐)
    • 仅重装核心包以生成默认配置(不会覆盖你的网站代码):
      • CentOS 7:sudo yum reinstall php php-cli
      • CentOS 8/Stream:sudo dnf reinstall php php-cli
    • 若使用模块方式运行 PHP(Apache):sudo dnf reinstall php mod_php
    • 若使用 PHP-FPM:sudo dnf reinstall php-fpm
    • 重启服务:sudo systemctl restart httpd 或 sudo systemctl restart php-fpm
  • 方式B:删除/重命名现有配置,触发系统重建
    • 重命名主配置与扩展配置:
      • sudo mv /etc/php.ini /etc/php.ini.old
      • sudo mv /etc/php.d/*.ini /etc/php.d/*.ini.old
      • 如用 FPM:sudo mv /etc/php-fpm.conf /etc/php-fpm.conf.old;sudo mv /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.old
    • 重新安装对应包(见方式A),系统将生成全新的默认配置。
    • 重启服务并验证。

三、关键路径与版本差异

  • 常见主配置路径:/etc/php.ini
  • 扩展配置目录:/etc/php.d/(很多发行版将扩展配置放于此目录)
  • PHP-FPM 配置:/etc/php-fpm.conf/etc/php-fpm.d/www.conf
  • 通过命令精准定位:运行 php --ini,关注 Loaded Configuration FileScan this dir for additional .ini files 两项。

四、验证与常见问题处理

  • 验证要点
    • 访问 info.php,确认 Loaded Configuration File 为新恢复的路径,且关键扩展已加载。
    • 命令行验证:php -v、php -m 查看版本与模块是否正常。
  • 服务未生效
    • 确认重启了正确服务:Apache 用 httpd,Nginx + FPM 需同时重启 nginxphp-fpm
  • SELinux 或权限导致访问异常
    • 检查 SELinux:sestatus;必要时调整网站目录上下文与权限,例如:
      • chcon -R -t httpd_exec_t /var/www/html/*.php
      • chown -R apache:apache /var/www/html
      • chmod -R 755 /var/www/html(上传目录可用 775
  • 多版本并存
    • 确认当前 CLI 与 Web 使用的 PHP 版本一致(which php、php -v 与 info.php 输出一致),避免改错版本的配置。

0