English 中文(简体)
在一个团队(环境、组合等)中组织企业发展项目
原标题:Organizing PHP development in a team (environment, configuration, etc)

一段时间以来,我们一直在处理这个问题,似乎无法找到一个完美的解决办法,满足使发展者的生活更加容易的所有要求。

我们现在有以下机构:

  • Linux development server (as everything we produce runs on linux, and it uses some linux-specifix libraries)
  • Windows desktops (as the office network is on windows)
  • Every developer has a home folder on the dev server with a virtual host set up to run their code. This folder is shared using Samba.
  • Zend Studio IDE that is set up to use that location (as a network drive) to work on projects
  • Remote debugging to be able to run applications on the dev server and be able to step through the code

因此,我们的主要问题是,一切都很缓慢......

  • Zend is slow to index the project, as it has quite a bit of files (including externals like full framework) that need to be transferred through SMB.
  • Remote debugging is slow, as Zend studio needs to fetch the file, then send it back to the server to run it (running "Local if available, else server"; otherwise breakpoints don t work)
  • Tortoise SVN is slow to get file status for the commit (command line remedies the problem, but it s much less user friendly, especially with more complicated things like conflict resolution while merging)

解决任何具有多个服务器配置的解决办法,都产生了一个问题,即有可能在任何地方有不同的配置,这将造成更多的不确定因素,并可能在生产上出现ug。

由于法典中的气质依赖性(例如PPOSIX功能),不可能在窗户下进行开发和铺设。

So how do organizations solve these problems? What kinds of set up are you using? What kinds of problems are you facing, and how to you resolve them?

最佳回答

在某些情况下行之有效的解决办法之一是:

  • Have the code on your local disk, on the physical computer running windows
    • This code is the one you re modifying with your IDE
    • So, IDE is working as fast as possible : no SMB access for each file.
  • Also have the code on the Linux server
    • So Apache runs fast : the code is present on the server
  • Use some kind of synchronisation mecanism, to push every modification made on a file on the Windows machine to the Linux server, via the SMB share.
    • Using Eclipse, the FileSync plugin does a good job, over the SMB share.
    • WinSCP can also be used, to keep a remote and local folder synchronized, over an SSH connexion


Advantages :

  • All local operations are fast
  • All server operations are fast

反馈:

  • You must always use the tool that ensures synchronisation (For instance, with FileSync, everything must be done in Eclipse -- and nothing in any other software)
    • Note : for SVN, no need to use Tortoise : there are plugins that integrate into Eclipse (Subversive, for example)
  • Not sure about debugging
  • Modifications done directly on the Linux machine might not (depending on the solution) get synchronized to the windows desktop.


Still, the best (fastest and most powerful) solution is generally to use only one computer -- that would run Linux, in your case, and not Windows.

  • Your tools will most likely work under Linux
  • If needed, you can install Windows in a Virtual Machine, for some software that don t run on Linux
  • It ll encourage everyone in your team to know Linux better ; which is always useful, when your production environment is not Windows ;-)
问题回答

暂无回答




相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签