Debian如何恢复PHP数据
小樊
45
2025-12-30 16:26:09
Debian恢复PHP数据的实用步骤
一 准备与环境核对
- 明确要恢复的三类内容:网站文件(如 /var/www/html)、PHP 配置(如 /etc/php/ 下的各版本配置)、数据库(MySQL/MariaDB 或 PostgreSQL)。
- 核对目标机器的 PHP 主版本 与扩展一致,避免兼容性问题;可用
php -v、php -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,上传目录(如 uploads)775:
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.1、8.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 版本不同,先安装相同主次版本与扩展,再恢复配置与代码,减少兼容性问题。