温馨提示×

Debian如何恢复PHP数据

小樊
45
2025-12-30 16:26:09
栏目: 编程语言

Debian恢复PHP数据的实用步骤

一 准备与环境核对

  • 明确要恢复的三类内容:网站文件(如 /var/www/html)、PHP 配置(如 /etc/php/ 下的各版本配置)、数据库(MySQL/MariaDBPostgreSQL)。
  • 核对目标机器的 PHP 主版本 与扩展一致,避免兼容性问题;可用 php -vphp -m 查看版本与已启用模块。
  • 核对 Web 服务器 类型与运行方式(Apache 模块或 PHP-FPM),恢复后需重启对应服务。
  • 准备好备份文件:网站归档(.tar.gz)、PHP 配置归档、数据库 SQL 转储文件,并确认可用空间与文件完整性。

二 从备份恢复网站文件与PHP配置

  • 恢复网站文件(示例将备份解压到 /var/www/html):
    • 解压:sudo tar -xzvf /path/to/web_files.tar.gz -C /var/www/
    • 权限:将属主设为 Web 服务用户(常见为 www-data),目录 755、文件 644,上传目录(如 uploads775
      • sudo chown -R www-data:www-data /var/www/html
      • sudo find /var/www/html -type d -exec chmod 755 {} +
      • sudo find /var/www/html -type f -exec chmod 644 {} +
      • sudo chmod 775 /var/www/html/uploads
  • 恢复 PHP 配置(示例路径,按实际版本调整,如 8.18.2):
    • 归档恢复:sudo tar -xzvf /path/to/php_config.tar.gz -C /
    • 或单文件恢复:sudo cp /backup/php.ini.bak /etc/php/8.1/apache2/php.ini
  • 重启服务使配置生效:
    • Apache:sudo systemctl restart apache2
    • PHP-FPM:sudo systemctl restart php8.2-fpm
  • 验证:访问站点或创建 info.php 检查 PHP 是否正常。

三 恢复数据库

  • 准备数据库:在目标库创建同名数据库(如 CREATE DATABASE database_name;)。
  • 导入数据:
    • MySQL/MariaDB:mysql -u username -p database_name < /path/to/db_backup.sql
    • 如备份为全库:mysql -u root -p < /path/to/all_db.sql
    • PostgreSQL:psql -U username -d database_name -f /path/to/db_backup.sql
  • 安全建议:限制备份文件权限(如 chmod 600 db_backup.sql),导入后核对表与数据量。

四 无备份时的数据救援

  • 文件系统修复:先卸载目标分区后在救援环境执行 sudo fsck -fy /dev/sdXN,修复错误后再挂载检查。
  • 分区与文件恢复:使用 TestDisk 恢复丢失分区/文件
    • 安装:sudo apt-get install testdisk
    • 运行:sudo testdisk,按向导进行分区表与文件恢复。
  • 重要提示:救援操作应只读挂载或离线进行,避免二次覆盖;关键数据建议交由专业数据恢复服务。

五 验证与常见问题处理

  • 功能与日志检查:
    • 访问关键页面与后台,确认功能正常。
    • 查看日志定位问题:/var/log/apache2/error.log/var/log/nginx/error.log/var/log/syslog
  • 服务与权限复核:
    • 确认 Apache/PHP-FPM 已启动且运行用户与目录权限正确。
    • 若使用 PHP-FPM,确保与 Nginx/Apache 的套接字或端口配置匹配。
  • 版本与扩展一致性:
    • 如目标机 PHP 版本不同,先安装相同主次版本与扩展,再恢复配置与代码,减少兼容性问题。

0