Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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
如何在已售出的web应用程序(PHP和MySQL)上作为补丁修改数据库结构?_Php_Mysql_Web Applications_Updates_Patch - Fatal编程技术网

如何在已售出的web应用程序(PHP和MySQL)上作为补丁修改数据库结构?

如何在已售出的web应用程序(PHP和MySQL)上作为补丁修改数据库结构?,php,mysql,web-applications,updates,patch,Php,Mysql,Web Applications,Updates,Patch,我已经使用PHP和MySQL创建了一个web应用程序,客户可以购买并安装在他们的服务器上。它有一个数据库安装程序脚本,用于设置表和预定义数据。到目前为止,一切都很好。但我可能需要对数据库结构进行一些更改,以获得更新的特性和版本。另一方面,我无法访问他们的服务器,也无法要求他们自己手动应用这些更改。因此,我需要通过更新文件使用脚本来完成此操作。 因为我不希望客户知道任何关于它的信息,我怎么能透明地进行呢?其他更新仅适用于用较新的文件替换文件。但数据库呢?而且我只需要做一次这些更改 最好的方法是什么

我已经使用PHP和MySQL创建了一个web应用程序,客户可以购买并安装在他们的服务器上。它有一个数据库安装程序脚本,用于设置表和预定义数据。到目前为止,一切都很好。但我可能需要对数据库结构进行一些更改,以获得更新的特性和版本。另一方面,我无法访问他们的服务器,也无法要求他们自己手动应用这些更改。因此,我需要通过更新文件使用脚本来完成此操作。
因为我不希望客户知道任何关于它的信息,我怎么能透明地进行呢?其他更新仅适用于用较新的文件替换文件。但数据库呢?而且我只需要做一次这些更改


最好的方法是什么?

秘密做某事不会让事情变得透明。你知道@Dale,在这种情况下,透明度不是很重要。实际上,我需要在没有客户手动操作的情况下进行数据库更新。我想让他们替换更新文件(比如WHMC),那么是什么阻止了您在这些脚本中编写ALTERTABLESQL呢?比如,让他们替换文件并转到“webapp.com/tool/update.php”,或者在登录时添加一些代码,将数据库中存储的版本与更新文件中的版本进行比较,并在不同的情况下运行update.php脚本。Ajax、js、php-这样用户会得到一些反馈,比如“更新文件…”,更新数据库“@MauroTamm,我在寻找最好的方法。我也想到了你的解决办法。很好。我只是想确保这是一种正确的方法。在用户不手动执行任何操作的情况下运行db更新的唯一方法是在下次启动webapp时运行它。为此,您需要一种方法来识别挂起的更新。也可以是一个检查更新文件的函数-如果它存在,它将重定向到update.php。成功完成后-将其删除。