Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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_Lifecycle - Fatal编程技术网

如何管理PHP项目开发生命周期?

如何管理PHP项目开发生命周期?,php,lifecycle,Php,Lifecycle,我曾参与过几个PHP项目,在组织工作时总是遇到问题。您在哪里开发您的应用程序-在本地主机、远程服务器或生产服务器上(!)? 当我在本地主机上完成一些主要路径后,我会通过ftp发送新文件,但有时它会忘记一个文件,而浏览几个Directories来复制更改后的文件会让我很累。 您建议的最佳实践是什么?我正在一台开发机器上开发,该机器具有与生产环境相同的环境,可以防止由于版本或配置不同而出现不同的行为。完成后,我只需将所有文件移到生产服务器上 是一个很好的免费windows工具,可以在开发和生产机器之

我曾参与过几个PHP项目,在组织工作时总是遇到问题。您在哪里开发您的应用程序-在本地主机、远程服务器或生产服务器上(!)? 当我在本地主机上完成一些主要路径后,我会通过ftp发送新文件,但有时它会忘记一个文件,而浏览几个Directories来复制更改后的文件会让我很累。
您建议的最佳实践是什么?

我正在一台开发机器上开发,该机器具有与生产环境相同的环境,可以防止由于版本或配置不同而出现不同的行为。完成后,我只需将所有文件移到生产服务器上

是一个很好的免费windows工具,可以在开发和生产机器之间区分文件。

有一个合适的工具,可以自动将修改后的文件上传到生产环境;不知道PHP是否也有类似的功能。 因此,执行dev2prod脚本(自动执行此操作的脚本)应该是一个好的解决方案


要进行本地源文件管理,每个人都可能建议您使用。

这是我们管理商业网站的方式:

  • 在局部砂箱中培养
  • 签入SVN
  • 从SVN到内部的自动化构建/测试 开发服务器
  • 使用rsync到staging的脚本化部署 QA/UAT服务器
  • 脚本化部署到生产环境 服务器
  • 暂存服务器和生产服务器均由ISP托管,硬件和版本匹配,运行RHEL,内部开发服务器与CentOS版本匹配


    这样,当代码到达生产服务器时,就不会有任何令人讨厌的意外,因为即使是部署脚本也会在第4阶段检查

    使用与您的开发环境(即ApacheMods、php扩展等)相同的精确配置在您的本地计算机上进行开发,使用版本控制系统(我更喜欢SVN)跟踪修改过的文件等等


    然后,您可以在生产或测试环境中编写脚本,将存储库中的文件复制/更新到web服务器路径。

    可能会因为重定向旧帖子而被告知,但以下是我如何使用免费工具执行此操作:

    我使用Netbeans、Git、bitbucket、源代码树、gitflow和FTPloy

    Bitbucket.com:注册免费帐户。 SourceTree:从bitbucket中释放。管理git存储库的好工具。所有提交、合并和拉取都可以在这里完成。可以跟踪bitbucket中的问题

    在sourcetree中,选择主分支并单击“git flow”-google gitflow-这是功能、修补程序、开发和发布分支的奇妙工作流程,sourcetree帮助实现流程自动化

    FTPloy.com自动部署主分支。免费的是一个repo/服务器。但是,如果您想将开发分支推送到服务器沙箱进行测试,那么升级是值得的


    希望这有助于人们搜索网页

    这是我自己的PHP开发生命周期

  • 在Github或Bitbucket上创建GIT私有存储库
  • 用cPanel连接GIT。(很容易将更改提交到repo和生产服务器)
  • 使用Visual Studio代码或升华文本在本地主机(可能在Windows上的Xampp上)上开发
  • 初始化GIT并连接到专用存储库
  • 将更改推送到GIT存储库(主/分支)-主更改将自动上载到生产服务器

  • 这不就像拥有一个没有时间回溯能力的控制版本系统吗?我们做了类似的事情,除了使用SVN签出来进行阶段构建(允许指定修订或标记-以防主干无法部署)-然后使用rsync来确保生产与阶段完全匹配。