【问题标题】:Organizing PHP development in a team (environment, configuration, etc)在团队中组织 PHP 开发(环境、配置等)
【发布时间】:2011-07-12 04:02:15
【问题描述】:

我们一直在与这个问题作斗争一段时间,但似乎无法找到一个完美的解决方案来满足让开发人员的生活更轻松的所有要求。

现在我们有以下设置:

  • Linux 开发服务器(因为我们生产的所有东西都在 linux 上运行,并且它使用一些 linux-specifix 库)
  • Windows 桌面(因为办公网络在 Windows 上)
  • 每个开发人员在开发服务器上都有一个主文件夹,并设置了一个虚拟主机来运行他们的代码。此文件夹是使用 Samba 共享的。
  • Zend Studio IDE 设置为使用该位置(作为网络驱动器)来处理项目
  • 远程调试以便能够在开发服务器上运行应用程序并能够单步执行代码

所以我们遇到的主要问题是一切都很慢......

  • Zend 索引项目的速度很慢,因为它有相当多的文件(包括完整框架等外部文件)需要通过 SMB 传输。
  • 远程调试很慢,因为 Zend studio 需要获取文件,然后将其发送回服务器以运行它(运行“本地如果可用,否则服务器”;否则断点不起作用)
  • Tortoise SVN 获取提交文件状态的速度很慢(命令行解决了这个问题,但它对用户不太友好,尤其是在合并时解决冲突等更复杂的事情)

扩展到具有多个服务器配置的任何解决方案都会带来一个问题,即有可能在任何地方都有不同的配置,这将在生产中引入额外的不确定性和可能的​​错误。

windows下无法开发调试,因为代码中有linux依赖(比如POSIX函数)。

那么组织如何解决这些问题?您使用的是什么类型的设置?您面临哪些类型的问题,以及如何解决这些问题?

【问题讨论】:

    标签: php development-environment zend-studio


    【解决方案1】:

    在某些情况下可行的一种解决方案是:

    • 将代码保存在本地磁盘上,在运行 windows 的物理计算机上
      • 此代码是您使用 IDE 修改的代码
      • 因此,IDE 正在尽可能快地工作:每个文件都没有 SMB 访问权限。
    • Linux 服务器上也有代码
      • 因此 Apache 运行速度很快:代码存在于服务器上
    • 使用某种同步机制,通过 SMB 共享将对 Windows 机器上的文件所做的每项修改推送到 Linux 服务器。
      • 使用 Eclipse,FileSync plugin 在 SMB 共享方面做得很好。
      • WinSCP 也可用于通过 SSH 连接保持远程和本地文件夹同步


    优点:

    • 所有本地操作都很快
    • 所有服务器操作都很快

    缺点:

    • 您必须始终使用确保同步的工具(例如,对于 FileSync,一切都必须在 Eclipse 中完成,而无需在任何其他软件中完成)
      • 注意:对于 SVN,不需要使用 Tortoise:有一些插件可以集成到 Eclipse (例如 Subversive)
    • 不确定调试
    • 直接在 Linux 机器上进行的修改可能不会(取决于解决方案)同步到 Windows 桌面。


    尽管如此,最好的(最快和最强大的)解决方案通常是只使用一台计算机——在你的情况下,它将运行 Linux,而不是 Windows。

    • 您的工具很可能在 Linux 下工作
    • 如果需要,您可以将 Windows 安装在虚拟机中,用于某些无法在 Linux 上运行的软件
    • 它将鼓励团队中的每个人更好地了解 Linux;当您的生产环境不是 Windows 时,这总是有用的;-)

    【讨论】:

    • 可以在服务器上使用 Zend 进行调试(远程调试)。另一种方法是让本地服务器为本地计算机上的文件提供服务。我有这种方法(我的项目文件在我的 Win 7 开发机器上,而我的本地服务器 Web 根目录是该文件夹 - 工作正常,如果速度较慢,它只是“模仿”Web 环境:)。根据团队合作,使用 Git 或 Mercurial,它将允许在存储库的本地副本上进行开发,同时在开发人员推送更改时保持所有内容“同步”。
    • +1:作为 PHP 开发人员从 Windows 转到 Linux 是我做过的最好的举动。如果 OP 使用 windows 的唯一原因是与办公室的网络匹配,那么将整个开发团队聚集到 linux 可能不是一个坏主意。它只是更直观地工作。 span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2017-12-03
    相关资源
    最近更新 更多