创建一个WordPress测试系统作为生产系统的克隆

时间:2017-04-06 作者:roeb

对于我们的WordPress网站,我想创建一个测试实例-测试WordPress更新/插件更新和主题的新发展等等。。。

所以我写了一个脚本来复制数据库和文件:

sourcedir="/srv/www/htdocs/www.example.de"
testdir="/srv/www/htdocs/test.example.de"
workdir="/data/example.de_test-system"
sqldumpfile="$workdir/mysql_dump_example_wp2017.sql"

echo "delete webroot test.example.de"
rm -rf $testdir
echo "www.example.de nach test.example.de kopieren"
cp -R $sourcedir $testdir
echo "cache-verzeichnisse leeren"
rm -rf $testdir/wp-content/cache/minify
rm -rf $testdir/wp-content/cache/db
rm -rf $testdir/wp-content/cache/object
rm -rf $testdir/wp-content/cache/page_enhanced
rm -rf $testdir/wp-content/cache/tmp
echo "alten dump loeschen"
rm -f $sqldumpfile
echo "aktuellen Dump aus DB ziehen"
mysqldump -u root --password=xxx example_wp_2017 > $sqldumpfile
echo "dump bearbeiten - www.example.de gegen test.example.de ersetzen"
sed -i s/www.example.de/test.example.de/g $sqldumpfile
echo "bearbeiteten dump in test-DB einspielen"
mysql -u root --password=xxx example_wp_2017_test < $sqldumpfile
echo "test-config einspielen"
cp /data/example.de_test-system/wp-config.php $testdir
echo "www-nutzer-rechte auf test.example.de setzen"
chown -R wwwrun $testdir
chgrp -R www $testdir
脚本将复制WordPress文件夹,清空缓存文件夹,转储数据库,用测试系统查找/替换生产系统的条目,并将转储导入数据库-最后,将测试配置复制到测试文件夹

这是可行的,但我遇到了一些奇怪的错误-例如徽标图像,它显示的是占位符图像

缺少元导航

在后端,左侧导航中的一些点丢失了,比如自定义帖子类型

我的剧本中是否遗漏了一些东西?

2 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

一般来说,测试环境最好使用与实时站点相同的域名。由于您似乎没有遵循这样的模式(是的,很难遵循),因此您需要确保正确转换数据库中的所有URL,这样做的方式将导致任何序列化的数据失败。使用wp cli更改URL,而不是重新发明自己的解决方案。

此外,您可能需要更改选项或添加一些代码,以确保google不会尝试为测试站点编制索引。

SO网友:Rick Hellewell

我发现最适合我使用的克隆插件是WP Clone:https://wordpress.org/plugins/wp-clone-by-wp-academy/

非常容易使用,只需安装在源和目标WP站点上。然后从源站点导出,并导入到目标(登录到目标)。您的所有设置(包括用户)和内容(包括媒体)都将位于目标网站中;您必须使用源系统上的帐户登录。

很棒的插件。

相关推荐

Wp-Content/Themes文件夹在哪里?

我想为我的wordpress站点创建一个子主题(仅供参考),这样我的更改就不会被每次更新所覆盖。显然,我需要在wp-content/themes文件夹中为子主题创建一个子文件夹。问题是,我找不到它。我曾尝试将wp内容和wp内容/主题添加到域中-它生成了一个空白的白色页面。我试着在spotlight文件搜索(是的,我有一台mac电脑)中搜索它(只是“wordpress”),它只找到了一些我在2010年安装的wordpress文件夹,我甚至都不记得做过这些。由于我最近在过去两周(2014年5月)建立了这个网站