从用于开发人员的WordPress复制在浏览器中提供不同的输出

时间:2015-10-23 作者:th3penguinwhisperer

我正在努力做到以下几点:复制当前的live站点进行一些开发。我目前更希望开发人员站点位于同一服务器上。

我做了以下工作:

列表项在bind中添加了子域,版本号更新和rndc重新加载创建了整个wordpress目录的副本(保留了cp-a so所有权和权限)

  • 编辑了apache vhosts配置并重新加载了wordpress数据库的mysqldump和用户对wp配置的编辑。php在新目录中编辑转储并替换所有旧路径(/usr/local/www/wordpress到/usr/local/www/wordpress2),还将所有URL替换为新路径(它是子域,而原来是topleveldomain:例如dev.domain.com和domain.com)
  • 将该转储导入到新数据库的mysql预期结果:使用dev.domain使站点完全工作。com。就像域名一样。com工作。

    当前结果:似乎加载了正确的主题(Tempera)。这些设置似乎和它们应该的一样(当我转到主题,自定义时),并且比较这些设置看起来是一样的(虽然没有检查所有设置)。然而,我仍然从主题中获得一些默认图片和内容。有人知道我错过了什么吗?

    编辑:我可能不得不补充一点,网站名称在过去已经改变了。例如wp。领域com到另一个域。com(托管在同一服务器上)。这是因为在apache中配置了ServerAlias(因此转储仍然引用旧域)。我一直在替换wp的这些事件。领域com到另一个域。尽管如此。

    提前感谢!

    1 个回复
    最合适的回答,由SO网友:th3penguinwhisperer 整理而成

    NOTE: as my reputation is non-existent I can\'t post more than 2 links. So if I say "include http part" I mean for example domain.com should be http://domain.com

    嗨,cybmeta。你所说的确实是我问题的一部分。我在你发帖之前发现了这一点,但我太累了,无法立即更新我的问题。您提供的参考确实是一个很好的资源(在正常情况下,您可以完全依赖这些步骤)!非常感谢您的努力!

    我想回答我自己的回答,给出一些更详细的回答。

    • IMPORTANT: 不要用新站点名替换所有出现的旧站点名。wordpress站点的一些数据是序列化的(json\\u编码/json\\u解码),简单地替换这些域会导致这些字符串的大小错误
    • 我以前确实移动过该站点(使用上述过程),一定也遇到过同样的问题,但只要在Apache中创建一个别名,就可以很容易地通过旧域名访问文件,我使用Firefox中的Webdeveloper切换工具验证了页面的加载位置,因此我遇到的问题是:

      Wordpress中的序列化数据仍在引用不同的域,只需引用一次www.domain。com,而其他都是域。com虽然数据似乎被修改了,但似乎只有第一页是从子域加载的。领域com和其他所有人都将返回域。com(这非常危险,很容易混淆和修改您的生产站点!始终检查您所在的URL)

    第1部分:让现有站点按其应有的方式工作:

    备份所有内容在原始站点中安装的插件Better Search Replace使用Better Search Replace替换www.domain。com(包括http部分)到域。com(包括http部分)和wordpress2。领域com(包括http部分)到域。com(包括http部分)。First 不修改GUIDthen 具有修改GUID。如果第一个有效,dont\'t 使用更改GUID,使用Firefox工具验证所有内容现在都是从域检索的。com第2部分:实际创建站点的克隆

    安装Replicator插件在Web服务器上为克隆创建空目录在Web服务器上为克隆创建空数据库在Replicator中创建新包我有一些未满足的依赖项:php zip和php json我收到了关于存档/文件大小的警告。。。不管怎样,我还是继续了,我遇到了一个超时错误,但我检查了wp snapshots目录,我有一个有效的存档。zip和安装程序。php(这些文件由Replicator生成)

  • 将两个文件复制到该服务器上的空目标位置(使用cp-a)
  • 重命名-安装程序。php到安装程序。php(don\'t 将存档文件作为安装程序执行此操作。php引用了确切的名称)注意:最好使用cp-a,因为这样可以保留所有权和权限。否则,您可能会遇到浏览器中显示空白页面的问题。目录中的zip(使用unzip;我只是在第二次尝试时才这样做,因为复制程序在此步骤中失败了)
  • 浏览到子域。领域com/安装程序。php按照向导从UI中删除安装程序创建的文件注意:如果要在同一目录中重新部署,则必须删除此目录中的所有文件。php之前成功地完成了站点部署(如:replicator Installer.php在向导的最后一页中要求您测试站点)
  • 尽管如此,wordpress使用了所有这些硬编码URL,调用时却无法呈现这些URL,这让我很惊讶(这本应该让这种方式更简单)。但我认为wordpress有一个很好的理由。

    我希望这有助于其他人花大量时间解决这些问题。

    相关推荐

    在WordPress中将MySQL表格元素显示为页面

    我正试图建立一个WordPress网站,但我需要一个特定的功能,我还没有找到一个插件。我将要刮网站信息和张贴到数据库的信息(这已经处理)。但是,我想创建一个页面来显示所有信息的索引,然后创建一个唯一的页面来显示每个单独的元素(ddbb表的行)。有什么办法可以做到这一点吗??