mysql 更新 自我_如何自我更新php+mysql-cms?

您有两个场景需要处理:

Web服务器可以写入文件。

Web服务器无法写入文件。

这只是指示您是要解压缩一个zip文件,还是使用ftp更新文件。在另一种情况下,您的第一步是转储数据库和备份现有文件,这样当出现严重错误时,用户可以回滚。正如其他人所说,重要的是将用户可能自定义的任何内容保留在更新范围之外。Wordpress做得很好。如果用户对核心逻辑代码进行了更改,那么他们可能足够聪明,能够自己解决任何合并冲突(并且足够聪明,能够知道一次单击升级可能会丢失修改)。

第二步是确保在浏览器关闭时脚本不会死掉。这是一个不应该被打断的过程。你可以通过

ignore_user_abort(true);

或其他方法。或者,如果你愿意,允许用户勾选一个框,上面写着“即使我断开了连接,也要继续”。我假设您将在内部处理错误。

现在,根据权限的不同,您可以:

将要更新的文件压缩到system/tmp目录

将要更新的文件压缩为主目录中的临时文件

然后你就可以:

下载并解压缩更新

en situ

或就位。

下载更新并将其解压缩到系统的/tmp目录,然后使用ftp更新web根目录中的文件。

然后您可以:

根据需要应用任何SQL更改

询问用户是否一切正常

如果情况不好,请后退

清除system/tmp目录中的temp目录,或用户web root/home目录中的任何临时文件。

最重要的方面是确保在情况恶化时可以回滚更改。另一个需要确保的是,如果使用/tmp,请确保检查临时区域的权限。

0600

应该做得很好。

看看WordPress和其他人是怎么做到的。如果您对许可证的选择和他们的同意,您甚至可以重新使用其中的一些代码。

祝你的项目好运。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值