2012-06-26 37 views
0

我們有定製的PHP/MySQL Web應用程序,它定期更新並複製(使用SFTP)到多個服務器。在PHP Web應用程序中檢測已安裝版本的最佳方法

對於其中一些更新,需要更改數據庫或文件系統。通常這需要手動運行update.php腳本來檢查和更新所有內容。

我希望能夠讓應用程序檢查是否有新的更新來減少手動活動。

這樣做的最好方法是什麼?

回答

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'); 
} 
+0

我喜歡第二個想法;它很簡單並且性能開銷很小。日Thnx。 – Martijn

+0

@Martijn:確保你在update.php中跟蹤當前/最新版本,然後,如果出於某種原因沒有被刪除,你不會嘗試應用更新兩次(例如權限混亂) – Leigh

0

您可以嘗試將當前應用程序(示例XML文件) 和最新版本的應用程序在遠程服務器中的某個位置存儲到XML文件中,然後唯一要做的就是運行cron作業每4天或每週一次執行一個php腳本,該腳本在當前版本和從具有最新版本值的遠程服務器獲取的XML文件之間進行比較,它應通過電子郵件或應用程序中的消息通知您。 您可以將其他信息存儲在XML文件中,這些更新有多關鍵,或者有關更新的信息。

希望它有幫助!

相關問題