2012-11-06 24 views
7

背景:如何复制基于PHP的网站?

我是新来的PHP,但我一直在问到代码做一些更改,以支持托管在我们的内联网的应用程序。实际的代码更改看起来不错。但是,目前没有开发环境,所以我承诺创建一个重复的服务器来开发和测试我的更改。

在这一点上,并不熟悉PHP,看起来我可能必须对生产机器上的所有Apache HTTPD和PHP配置设置/选项/软件包进行逆向工程,除非我可以战略性地复制现有生产环境到开发机器。

我的问题:

  1. 是否有可能做到这一点?即将Apache/PHP安装中的某些目录FTP以复制原始环境?如果是这样,哪些目录?一个复杂情况可能是原始环境是SUSE Linux,开发机器是CentOS。除此之外,我在开发机器上安装了匹配的HTTPD和PHP版本。
  2. 如果这不是明智的/可能的,我应该如何去复制环境?我应该检查哪些区域?

在此先感谢!

+2

这可能是一个更适合http://www.serverfault.com –

+1

根据应用可能不需要环境完全相同的副本的性质。许多网站\应用程序在Windows上开发,然后上传到Linux,一切都很好 - 但不可能说这是否是这种情况。您可以将副本放在服务器上的另一个目录中,然后大部分情况都是一样的。 – 2012-11-06 21:33:37

+0

使用'虚拟Machine'或'Vmware'第二台机器上可以根据自己的情况选择。 – Xaqron

回答

2

已经提到的解决方案,另一种方法是设置生产机器上的虚拟主机,像test.yourdomain.com东西和数据库复制到测试数据库。

然后,你可以测试在测试环境中活的服务器上你的网站,你只需要改变测试版本的数据库连接设置。

1

这将是一个更容易和更少的心痛,只需克隆服务器,您可能需要与负责照顾您的服务器的人说话。我之所以这样说是因为可能有各种模块/库和服务器上的其他东西,如果要获得应用程序,需要很长时间才能确定需要的内容在CentOS机器上运行完全一样。其次,如果两种环境都相同,这是最好的实践,这样你就知道你的测试是可靠的。

+1

我不知道这是否是@Steve T的问题,但克隆SuSE服务器会导致额外的许可成本。这可能是生产服务器是SuSE和开发箱CentOS的原因之一。 –

2

将整个事物克隆到VM中,提取代码并将其放入源代码库(例如git)中。在你的机器上开发完成后,部署到你的虚拟机(除非你可以得到另一台机器,或者你有时间和耐心去逆向工程化克隆机器的配置)。

您可以通过简单地从您的虚拟机中提取代码开始部署,但如果您认为您的项目可能会持续更长时间,请考虑设置Continous Integration环境并将VM配置文件放入git存储库co中,您可以重新创建它在生产中(或将您的生产挂钩到CI)。

2

我应该如何去复制环境?我应该检查哪些区域?

你一定要看看:

  • /etc/httpd/
  • /etc/php5/(可能是一个不同的名称)

特别是,从文件php.inihttpd.confapache2.conf开始,包含在这些文件夹中。