大型php / mysql项目的开发,testing和生产环境

你好,我正在一个大型的PHP / MySQL项目工作,我到了一切都变得非常困惑的地步。

我有一个运行CentOS和PLESK的专用服务器。 而且我有一台带有XAMPP的Windows PC。

现在我工作的方式是在我的PC上进行开发和基本testing,每当我觉得需要在服务器上testing一些东西时,我会上传一切,然后在服务器上进行testing。 特别是对于mysql的更改,这真的很痛苦,我必须一次又一次地导出和导入一个新的数据库。

有什么方法可以轻松地切换这些envoirments。 或者有人指出我的方向是正确的,因为我从来没有这样大规模的应用。

感谢您的时间。

基本上,3服务器设置是正确的方法,取决于有多less人正在开发甚至4服务器设置:

  1. 编码的本地环境,testing变化等
  2. (可选)为所有开发人员提供的开发服务器,它始终从存储库获取最新的源代码
  3. 一个临时服务器,应该有与4相同的configuration,并且首先在其上testing新版本
  4. 实际的生产服务器,只能使用在登台服务器上进行了全面testing的代码进行更新如果使用某种SCM系统,只需编写一个转储最新版本的脚本,就可以轻松部署新的数据库的数据库内容,将其放入SCM并自动更新服务器2和3。

所以,关键字是:

  • 使用源代码pipe理系统
  • 自动完成尽可能多的构build和部署过程

首先,这根本不是一个系统pipe理问题,但我怀疑其他三部曲网站是否比这个更适合。

你这样做的方式很有意义,但是你可以通过一些自动化让自己的生活变得更容易。 为什么不创build脚本来完成所有更新? 脚本的一部分执行转储,上传和导入MySQL,而另一部分可以使用任意数量的工具上传PHP中已更改的内容。