Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 源代码管理建议_Php_Svn_Version Control_Cvs - Fatal编程技术网

Php 源代码管理建议

Php 源代码管理建议,php,svn,version-control,cvs,Php,Svn,Version Control,Cvs,我在我工作的公司继承了一个相当大的内部应用程序。它有两个部分。一个运行在LAMP服务器上,另一个运行在WAMP服务器上。没有可查看的源代码管理 目前,开发人员将通过FTP登录到每台服务器,直接编辑其中的PHP文件。或者登录到phpMyAdmin,并在必要时对DB模式进行更改 在这种情况下,实现某种源代码控制的最佳方法是什么?我不太了解如何最好地设置CVS ans SVN。所有开发者都需要自己的“测试系统”吗?也就是说,我需要为每个开发者设置一个LAMP+WAMP环境吗?或者他们可以关闭中央开发服

我在我工作的公司继承了一个相当大的内部应用程序。它有两个部分。一个运行在LAMP服务器上,另一个运行在WAMP服务器上。没有可查看的源代码管理

目前,开发人员将通过FTP登录到每台服务器,直接编辑其中的PHP文件。或者登录到phpMyAdmin,并在必要时对DB模式进行更改

在这种情况下,实现某种源代码控制的最佳方法是什么?我不太了解如何最好地设置CVS ans SVN。所有开发者都需要自己的“测试系统”吗?也就是说,我需要为每个开发者设置一个LAMP+WAMP环境吗?或者他们可以关闭中央开发服务器吗?部署所做更改的最佳方式是什么

开发人员都使用Windows。我们还使用Zend Studio 5.5进行开发


提前感谢您的建议。

对于开发人员来说,在本地或虚拟机中运行个人LAMP/WAMP并不是一件费力的事。本地开发服务器对于在密切匹配的环境中测试非活动的更改是值得的,但是如果所有开发人员都同时对其进行更改,那么它就不能真正扩展


我会让所有开发人员在Subversion中提交到
trunk
,然后在服务器上自动部署
stable
分支(使用提交后挂钩)。只有某些人应该具有对
stable
分支的写访问权限,以确保初级开发人员不会意外地破坏实时服务器。

对于开发人员来说,让个人LAMP/WAMP在本地或虚拟机中运行并不费多大力气。本地开发服务器对于在密切匹配的环境中测试非活动的更改是值得的,但是如果所有开发人员都同时对其进行更改,那么它就不能真正扩展


我会让所有开发人员在Subversion中提交到
trunk
,然后在服务器上自动部署
stable
分支(使用提交后挂钩)。只有某些人才应该拥有对
stable
分支的写访问权限,以确保初级开发人员不会意外地破坏实时服务器。

在网站上工作是一种可怕的方式,尤其是在团队中。整个设置应该改变


源代码应该存在于其他地方,然后在准备好后部署到网站上。您可以有一个脚本来执行部署等操作(通过ssh复制文件,如果需要,还可以进行任何其他设置,等等)。要点是:任何人都不应该直接在生产服务器上编辑文件。

这是一种在网站上工作的可怕方式,尤其是在团队中。整个设置应该改变


源代码应该存在于其他地方,然后在准备好后部署到网站上。您可以有一个脚本来执行部署等操作(通过ssh复制文件,如果需要,还可以进行任何其他设置,等等)。要点是:任何人都不应直接在生产服务器上编辑文件。

其他典型设置是一个用于生产的中央设置,另一个用于测试,即2个WAMP+LAMP实例。此外,我还要补充一点,对于这样的部署,Subversion可能是最简单的版本控制系统(分布式版本控制系统也有意义,但对于老派开发人员来说,它们更难教,而CVS只是每个人都在迁移的遗留系统).其他典型设置是一个用于生产的中央设置,另一个用于测试,即2个WAMP+灯实例。此外,我还要补充一点,对于这样的部署,Subversion可能是最简单的版本控制系统(分布式版本控制系统也有意义,但对于老派开发人员来说,它们更难教,而CVS只是每个人都在迁移的遗留系统)。