【问题标题】:How to duplicate a PHP-based website? [closed]如何复制基于 PHP 的网站? [关闭]
【发布时间】:2012-11-06 21:29:15
【问题描述】:

背景:

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

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

我的问题:

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

提前致谢!

【问题讨论】:

  • 这可能更适合serverfault.com
  • 根据应用程序的性质,可能不需要完全复制环境。许多站点\应用程序是在 Windows 上开发的,然后上传到 linux 上,一切都很好 - 但这里不可能说是否会是这种情况。您也许可以将副本放在服务器上的另一个目录中,然后大部分内容都会相同。
  • 在第二台机器上使用 Virtual MachineVmware 可能是一种选择,具体取决于您的情况。
  • 感谢大家的关注和回答!

标签: php installation environment duplication


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      你一定要调查一下:

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

      尤其是从这些文件夹中包含的文件php.inihttpd.confapache2.conf 开始。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 我不知道这是否是@Steve T 关心的问题,但克隆 SuSE 服务器会产生额外的许可费用。这可能是生产服务器是 SuSE 和开发盒 CentOS 的部分原因。
        猜你喜欢
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-22
        • 2011-09-04
        • 2015-01-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多