定期的に複数のサーバーに (SFTP を使用して) 更新およびコピーされるカスタム PHP/MySQL Web アプリケーションがあります。
これらの更新の一部では、データベースまたはファイル システムの変更が必要です。通常、これには、すべてをチェックして更新する update.php スクリプトを手動で実行する必要があります。
手作業を減らすための新しいアップデートがあるかどうかをアプリケーションでチェックできるようにしたいと考えています。
これを行う最良の方法は何ですか?
定期的に複数のサーバーに (SFTP を使用して) 更新およびコピーされるカスタム PHP/MySQL Web アプリケーションがあります。
これらの更新の一部では、データベースまたはファイル システムの変更が必要です。通常、これには、すべてをチェックして更新する 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 ファイルに保存することを試みることができます。その場合、行うべき唯一のことは、4 日に 1 回、または cron ジョブを実行することです。週に 1 回、現在のバージョンと、最新バージョンの値を持つリモート サーバーからフェッチされた XML ファイルとの比較を実行する php スクリプトを実行すると、電子メールまたはアプリケーションのメッセージで通知されます。XML ファイルに保存できる追加情報として、この更新プログラムの重要度、または更新プログラムに関する情報があります。
それが役に立ったことを願っています!