Wordpress暂存环境

我在一家为制药行业做网站的公司工作,在我们推动任何更改之前,我们经常需要获得法律批准。因此,我想将我们的大量工作迁移到 CMS 环境,特别是 wordpress,但我们需要具有暂存环境的能力。是否有可能不发布页面,而是将其发布到暂存环境中,以便有人可以通过链接作为站点浏览。因此,基本上有 2 个站点,一个暂存一个现场?

我在一家为制药行业做网站的公司工作,在我们推动任何更改之前,我们经常需要获得法律批准。因此,我想将我们的大量工作迁移到 CMS 环境,特别是 wordpress,但我们需要具有暂存环境的能力。是否有可能不发布页面,而是将其发布到暂存环境中,以便有人可以通过链接作为站点浏览。因此,基本上有 2 个站点,一个暂存一个现场?

3

一般来说,这里的其他“答案”是正确的,有 WordPress 的替代方案,对于暂存环境和构建迁移具有更好的内置支持。但是,建议的替代方案并不完全等于 WordPress 平台的替代品,所以我认为最好回答手头的问题。

WordPress 本身不支持从两个不同的主机托管同一站点。核心依赖于存储在数据库中的绝对 URL,并且几乎用于核心逻辑的各个方面。这会导致许多多余的错误,例如与 SSL 访问相关的 500 个左右,因为它们会尝试动态地将所有http://方案动态地更改为https://

因此,当您在dev.example.com上托管并迁移到 staging.example.com 并再次迁移到www.example.com时,您必须非常仔细地搜索并替换每次切换主机时对数据库导出的操作。当您发现许多流行的 WordPress 插件将 URL 序列化为数据库中的值时,这会导致其他问题。

以类似的方式,他们还建议交换主机映射,并且只在所有托管环境中使用 production.com URL。根据您的特定用例要求,如果您需要提供对场外客户端,技术文盲用户(当然是技术文盲用户)的访问,这可能不是一个有效的解决方案。

但是 WordPress 本身具有许多其他方面的强大功能,并且是一个非常自适应且功能强大的快速开发平台。因此,您可以扩展核心框架以完成所需的大部分工作。当我遇到这种情况时,我必须开发一种在所有情况下都可行的解决方案。传统上,这个问题是通过根相对 URL 解决的,它们在交叉托管环境中工作,并且它们不会受到方案更改,临时端口更改或子域交换的影响。

有了这个插件:http://wordpress.org/extend/plugins/root-relative-urls/(有偏见?是的,我写了这个插件。)您将获得根相对 URL,其中根相对 URL 不起作用的动态主机(如 rss 提要。)将站点迁移到不同主机所剩下的就是将wp-config.php文件移动到www根服务器之外(或者在 WordPress 上本地定义一个级别)。

需要注意的是,引用的插件需要设置对wp-config.php文件的写访问权限,从安全角度来看,对于生产或可公开访问的服务器,这是一种非常糟糕的做法。

长话短说,是的,您可以在多个主机环境中托管 WordPress。由于核心体系结构,长期吹捧的解决方案非常针对特定情况,并且受选项限制。但是该框架足够灵活,可以克服核心缺陷。考虑到核心开发人员在克服级联问题上不断花费的精力,此核心设计决策可能会在将来的某个时候发生变化。但是,对于绝对 URL ,也有一些虔诚的捍卫者可以为您提供更好的支持。

2

这是可能的:看看这个Github Gist,看看如何使用 wp-config.php 文件切换环境的例子。此外,看看 wordpress.stackexchange,看看其他一些关于这个的问题,让你更深入地了解你应该考虑的东西。

1

Greg,具有暂存环境的更好的 CMS 将是 Silverstripe(silverstripe.org)。此 cms 允许您浏览整个暂存站点。

1

我认为您可以尝试使用一些插件。例如(在官方 wordpress 插件 repo 上快速搜索)wp-deployDev and Staging Environment Plugin(可能已经过时)。

或者作为替代,您可以尝试使用不同的 wp-config.php 文件-一个用于生产,一个用于开发环境,并通过检查请求的 url 来切换它们。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(79)
生成具有所有 RESTful函数的控制器
上一篇
如何在Asp.netWeb服务器端启动bat文件
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(73条)