Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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
通过FTP部署PHP/MySQL站点的好解决方案是什么?_Php_Mysql_Deployment_Web - Fatal编程技术网

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

通过FTP部署PHP/MySQL站点的好解决方案是什么?,php,mysql,deployment,web,Php,Mysql,Deployment,Web,我目前正在开发一个使用PHP和MySQL的web应用程序,但是我没有服务器的shell访问权限(已经在处理这个问题了…)。目前,我在本地计算机上使用subversion进行源代码管理,并且在本地计算机上有一个数据库,可以对其进行所有更改。然后,在本地计算机上测试完所有更新后,我手动部署站点。我使用filezilla上传更新的文件,然后转储本地数据库并将其导入部署服务器 显然,我目前的解决方案并不理想。首先,我需要一种避免复制.svn文件的方法。。。有人知道这种特殊设置的最佳解决方案是什么吗?我已

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

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

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

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

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

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

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


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

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

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

我在生产中使用rsync,但您可以这样做:

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

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

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


用于将这些更改推送到生产环境中(如果我使用rsync,您就没有这个选项了)。调用一个远程脚本,检查配置数据库以查看当前的增量级别,使用delta_x-up.sql文件解析目录,并查看是否有任何新文件。如果有,请读取它们并在内部运行SQL。

我在生产中使用rsync,但您可以这样做:

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

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

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


用于将这些更改推送到生产环境中(如果我使用rsync,您就没有这个选项了)。调用一个远程脚本,检查配置数据库以查看当前的增量级别,使用delta_x-up.sql文件解析目录,并查看是否有任何新文件。如果有,请阅读它们并在其中运行SQL。

好主意。我想我会试试。好主意。我想我会试试的。