0

我们有一个定制的 PHP/MySQL Web 应用程序,它会定期更新和复制(使用 SFTP)到多个服务器。

对于其中一些更新,需要更改数据库或文件系统。通常这需要手动运行一个 update.php 脚本来检查和更新所有内容。

我希望能够让应用程序检查是否有新的更新来减少手动活动。

最好的方法是什么?

4

2 回答 2

1

你可能想多了?

在文件中记录最新版本,在您上传的脚本中记录当前版本。

您可以根据需要向版本解析添加尽可能多的复杂性。

最简单的例子:

define('CURRENT_VERSION', 2);

$lastVersion = (int)file_get_contents('VERSION');

if (CURRENT_VERSION > $lastVersion) {
    if (update()) {
        file_put_contents('VERSION', CURRENT_VERSION);
    }
}

您还可以通过存在的事实来检测更新的update.php存在。如果它在那里,运行它并删除它。如果更新失败,显然添加您自己的错误检查和回退。

if (file_exists('update.php')) {
    require('update.php');
    unlink('update.php');
}
于 2012-06-26T10:34:43.897 回答
0

您可以尝试将当前应用程序的版本(示例 XML 文件)和远程服务器中应用程序的最新版本存储到 XML 文件中,然后唯一要做的就是运行一个 cron 作业,例如每 4 天一次或每周执行一次 php 脚本,该脚本运行当前版本和从远程服务器获取的具有最新版本值的 XML 文件之间的比较,它应该通过电子邮件或应用程序上的消息通知您。您可以在 XML 文件中存储的其他信息、此更新的重要性或有关更新的信息。

希望它有所帮助!

于 2012-06-26T10:31:35.257 回答