0

定期的に複数のサーバーに (SFTP を使用して) 更新およびコピーされるカスタム PHP/MySQL Web アプリケーションがあります。

これらの更新の一部では、データベースまたはファイル システムの変更が必要です。通常、これには、すべてをチェックして更新する 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 ファイルに保存することを試みることができます。その場合、行うべき唯一のことは、4 日に 1 回、または cron ジョブを実行することです。週に 1 回、現在のバージョンと、最新バージョンの値を持つリモート サーバーからフェッチされた XML ファイルとの比較を実行する php スクリプトを実行すると、電子メールまたはアプリケーションのメッセージで通知されます。XML ファイルに保存できる追加情報として、この更新プログラムの重要度、または更新プログラムに関する情報があります。

それが役に立ったことを願っています!

于 2012-06-26T10:31:35.257 に答える