我们有一个定制的 PHP/MySQL Web 应用程序,它会定期更新和复制(使用 SFTP)到多个服务器。
对于其中一些更新,需要更改数据库或文件系统。通常这需要手动运行一个 update.php 脚本来检查和更新所有内容。
我希望能够让应用程序检查是否有新的更新来减少手动活动。
最好的方法是什么?
我们有一个定制的 PHP/MySQL Web 应用程序,它会定期更新和复制(使用 SFTP)到多个服务器。
对于其中一些更新,需要更改数据库或文件系统。通常这需要手动运行一个 update.php 脚本来检查和更新所有内容。
我希望能够让应用程序检查是否有新的更新来减少手动活动。
最好的方法是什么?
你可能想多了?
在文件中记录最新版本,在您上传的脚本中记录当前版本。
您可以根据需要向版本解析添加尽可能多的复杂性。
最简单的例子:
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');
}
您可以尝试将当前应用程序的版本(示例 XML 文件)和远程服务器中应用程序的最新版本存储到 XML 文件中,然后唯一要做的就是运行一个 cron 作业,例如每 4 天一次或每周执行一次 php 脚本,该脚本运行当前版本和从远程服务器获取的具有最新版本值的 XML 文件之间的比较,它应该通过电子邮件或应用程序上的消息通知您。您可以在 XML 文件中存储的其他信息、此更新的重要性或有关更新的信息。
希望它有所帮助!