如何将客户的完整WordPress实例(含WooCommerce)迁移至测试服务器?
WordPress + WooCommerce 迁移到测试服务器的正确操作步骤
备份并导入数据库
- 从客户的
www.WEBSITEOFCUSTOMER.at/wp-config.php文件中提取数据库名称、用户名、密码等信息。 - 让客户通过虚拟主机的phpMyAdmin导出完整的数据库SQL文件,若有权限也可使用命令:
wp db export导出。 - 在你的测试服务器上,用MariaDB创建新数据库,再导入客户的SQL文件。
- 从客户的
迁移网站文件
将客户www.WEBSITEOFCUSTOMER.at文件夹内的所有文件,完整复制到测试服务器的网站根目录(如/var/www/html/),替换原有文件(提前备份测试环境的自定义文件)。修改配置文件
打开测试服务器上的wp-config.php,替换数据库相关配置为本地环境的信息,同时添加以下常量固定站点地址:define('WP_HOME','http://你的测试服务器IP/域名'); define('WP_SITEURL','http://你的测试服务器IP/域名');替换数据库中的旧域名/路径
WordPress和WooCommerce会将旧站点地址存在数据库中,需批量替换:- 若用phpMyAdmin,执行SQL语句(注意替换表前缀
wp_为客户实际前缀):UPDATE wp_options SET option_value = REPLACE(option_value, 'https://www.WEBSITEOFCUSTOMER.at', 'http://你的测试服务器地址') WHERE option_name IN ('home', 'siteurl'); UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://www.WEBSITEOFCUSTOMER.at', 'http://你的测试服务器地址'); UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://www.WEBSITEOFCUSTOMER.at', 'http://你的测试服务器地址'); UPDATE wp_woocommerce_order_items SET meta_value = REPLACE(meta_value, 'https://www.WEBSITEOFCUSTOMER.at', 'http://你的测试服务器地址'); - 若安装了WP-CLI,用命令更高效:
wp search-replace 'https://www.WEBSITEOFCUSTOMER.at' 'http://你的测试服务器地址' --all-tables
- 若用phpMyAdmin,执行SQL语句(注意替换表前缀
修复文件权限
复制文件后设置正确权限,避免访问报错: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 {} \;验证功能完整性
访问测试站点,检查前台页面、后台登录、WooCommerce产品列表、订单记录是否正常加载,若图片无法显示,确认wp-content/uploads文件夹是否复制完整且权限正确。
内容的提问来源于stack exchange,提问作者Kreuzzes
相关产品推荐
相关产品推荐

