Web应用程序部署最佳实践:如何管理本地和实时文件?

Pol*_*eme 9 php deployment ftp version-control web-deployment-project

我正在编写php web应用程序,只需通过FTP部署它们.为了使它工作,我经常做一些调整/调试,因为我无法控制托管我的(免费)Web服务器,所以在我的本地环境中工作的东西可能无法正常工作.

例如,我保留一个单独的php文件,其中包含class_db_myapp.php,它扩展了一个带有特定数据库参数的class_db.php:db name,username,password,它们本地和实时不一样.(有关信息:最近我开始使用git进行版本控制)

随着我的应用程序的发展,一些文件被重命名/删除/创建.什么时候上传新版本,我必须依靠我的记忆来知道我要上传/删除的内容,或者只是删除所有/全部上传.但在第二种情况下,我需要避免删除class_db_myapp.php文件...

我还没有找到适当的解决方案.

此域中的最佳做法是什么?

我可能错过了关于这个主题的现有讨论,如果是这样,请指出我.

谢谢.

Bob*_*ger 6

如果ftp服务器支持符号链接,您可以使用以下技术:

  1. 使public_html文件夹成为包含当前版本的文件夹的符号链接.(例如"version1")
  2. 将新版本上载到新文件夹中.
  3. 上载完成后,修改符号链接以使新版本变为活动状态.

如果出现问题,您可以通过再次修改符号链接轻松恢复到以前的版本.

对于实时环境中不同的数据库和其他设置,有以下几种选择:

  • 创建一个包含环境的文件:"live"或"local",并根据环境设置在代码中放入"if语句".
  • 如果您能够在php中检测环境,请使用它而不是文件.
  • 将所有设置放在"versionX"文件夹之外的文件中.