Wordpress开发VS生产环境

时间:2012-11-11 04:11:49

标签: php mysql wordpress development-environment production-environment

我将使用WordPress作为CMS进行大量自定义,但我的问题是,我应该如何将开发同步到生产中?

假设未使用WordPress,典型的开发周期是在本地开发页面,并创建数据库脚本。然后当一切准备就绪时,它会被发布到网站上。然后,更多的数据库和代码更改,然后只更新/应用更改,等等。

现在,使用WordPress,您将获得所有强大的功能(一个例子是博客,评论,几乎准备好的CMS ......等等)。但是部署很痛苦!理想情况下,我宁愿保持上面描述的典型开发周期。因此,我将在本地实施WordPress(来自wordpress.org),然后将更改推送到我的生产服务器。

所以,假设我在本地WordPress中创建一个新页面(我永远不会在服务器上创建页面,所有本地,我会找到一种方法来禁用服务器的wp-admin),创建了许多文件。到目前为止,这不是问题。但是,如果我想向新创建的页面添加内容,则该内容将保存到我的本地数据库中。即使该内容是数据库更改,也应该(从我的角度来看)将新的更改推送到服务器而不是通过实时服务器添加该内容(因为该内容被认为是静态的,它不是博客发布或评论,这是一个静态页面。)

现在,新页面内容已保存到数据库中,因此,数据库将在我的本地计算机上完成更改,我应该将这些更改连同我将FTP到服务器的文件一起推送到服务器。

我的问题是:

  1. 这种做法是否正确?如果没有,你有什么建议

  2. 查找数据库差异的最佳方法是什么?什么是使用工具? MySQL Workbench是否提供类似的功能?我打算使用该工具查找差异,然后为数据库生成更新脚本。这个问题的原因是我通常自己进行更改,并且我知道如何跟踪它们,但是现在,这些数据库更改是由WordPress生成的,我需要对它们进行反向工程以找出所做的更改。

  3. 假设我有第2步工作,该脚本中是否有任何应该修改的内容?比如服务器名称?例如WordPress硬编码服务器名称吗?

  4. 因此,为了总结并提供有关我的开发环境的更多信息,我使用XAMPP在Windows 7上进行开发,并使用PHP和MySQL进行设置。我还使用Mercurial进行源代码控制。如上所述,我将使用WordPress作为解决方案的一部分,我打算用它来帮助我创建CMS解决方案。我将在本地使用它来生成页面,并在线禁用该功能(仅保留在线博客文章和类似条目)。我这样做是为了让事情保持同步。如果我在本地创建页面,则会将一些数据保存到数据库中。现在,我该如何同步/上传?

    感谢。

2 个答案:

答案 0 :(得分:0)

好的,经过进一步调查,这就是我的结论。

  1. 所有主题开发都应该是版本控制的
  2. 所有插件开发都应该是版本控制的
  3. 页面和帖子的内容不属于开发权限,这是有争议的,只应备份。
  4. 这样,您无需担心数据库更改......等等。

    希望这有助于每个人。

答案 1 :(得分:-2)

您可以使用版本控制系统吗?什么操作系统是开发的,例如赢还是Linux?什么是生产操作系统?我使用http://serverpress.com作为我的测试环境,尽管还有其他的,WAMP,LAMP等。