代码之家  ›  专栏  ›  技术社区  ›  Steven Oxley

通过FTP部署PHP/MySQL站点的好解决方案是什么?

  •  0
  • Steven Oxley  · 技术社区  · 17 年前

    我目前正在开发一个使用PHP和MySQL的web应用程序,但是我没有服务器的shell访问权限(已经在处理这个问题了…)。目前,我在本地计算机上使用subversion进行源代码管理,并且在本地计算机上有一个数据库,可以对其进行所有更改。然后,在本地计算机上测试完所有更新后,我手动部署站点。我使用filezilla上传更新的文件,然后转储本地数据库并将其导入部署服务器。

    显然,我目前的解决方案并不理想。首先,我需要一种避免复制.svn文件的方法。。。有人知道这种特殊设置的最佳解决方案是什么吗?我已经研究了Capistrano和Ant,但这两个看起来都是一个问题,我没有shell访问权限。。。

    3 回复  |  直到 5 年前
        1
  •  3
  •   Ferdinand Beyer    17 年前

    我正在使用 Weex 通过FTP同步服务器。Weex基本上是一个非交互式FTP客户端,可以自动上传和删除远程服务器上的文件/目录。它可以配置为不上载某些路径(如SVN目录),以及保留某些远程路径(如日志目录)。

    不幸的是,我手头没有同步MySQL数据库的解决方案。。。

    也许您可以在“SQL补丁脚本”(或使用完整转储)中记录数据库更改,使用Weex上传这些更改,然后调用一个远程PHP脚本来执行SQL补丁。

        2
  •  2
  •   dragonmantank    17 年前

    在站点中添加一个配置表,以保存当前的数据库级别。

    在开发过程中,将每组SQL更改存储到单个文件中(我使用类似delta_X-up.SQL的东西)。这些也将保留在您的SVN中。因此,例如,如果您在delta_5,并且在当前版本和新版本之间添加了一个表,那么所需的所有SQL都将放在delta_6-up.SQL中

    当需要构建时,导出回购协议,而不是使用签出。这让您可以忽略所有的SVN积垢,因为您将不需要它投入生产。

    使用 Weex

        3
  •  1
  •   Tom Haigh    17 年前

    您可以将subversion导出(而不是签出)到工作副本的不同目录,然后它将为您删除所有.svn内容