7

背景:

我是 PHP 新手,但有人要求我进行一些代码更改以支持托管在我们 Intranet 上的应用程序。实际的代码更改看起来还不错。但是,目前没有开发环境,所以我承诺创建一个副本服务器来开发和测试我的更改。

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

我的问题:

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

提前致谢!

4

4 回答 4

2

将整个内容克隆到 VM 中,提取代码并将其放入源代码存储库(例如 git)。

在你的机器上开发之后,部署到你的虚拟机(除非你可以得到另一台机器或者你有时间和耐心对克隆机器的配置进行逆向工程)。

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

于 2012-11-06T21:39:34.733 回答
2

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

您绝对应该调查:

  • /etc/httpd/
  • /etc/php5/(可能是不同的名字)

特别是,从这些文件夹中包含php.ini的文件httpd.conf和开始。apache2.conf

于 2012-11-06T21:48:08.850 回答
2

已经提到的解决方案的替代方案是在生产机器上设置虚拟主机,例如test.yourdomain.com将数据库复制到测试数据库。

然后您可以在测试环境中的实时服务器上测试您的站点,您只需在测试版本中更改您的数据库连接设置。

于 2012-11-06T21:54:12.750 回答
1

简单地克隆服务器会容易得多,心痛也会少得多,您可能需要与照顾您的服务器的人交谈才能做到这一点。我之所以这么说是因为服务器上可能有各种模块/库和一大堆其他东西,如果你要获得应用程序,你需要很长时间才能弄清楚你需要什么在 CentOS 机器上运行完全相同。其次,如果两个环境相同,这是最佳实践,这样您就知道您的测试是可靠的。

于 2012-11-06T21:35:30.013 回答