Ubuntu

與伺服器同步的不同技術

  • June 21, 2014

好吧,我目前正在大學的一門課程中教授 DB。學生已經完成了高級程式(這包括用大量項目折磨他們整個學期,他們真的學到了很多東西)。

在我的課程中,目前有一個項目,我在伺服器中為每個學生提供一個帳戶,他必須使用 PHP 連接到 PostgreSQL,顯示一些查詢,修復一些 SQL 無法使用 PHP 處理的問題等等等等。

但我正在想辦法改進這一點。目前他們使用 FTP 連接到伺服器,上傳 php 文件,然後查看更改情況。當然,如果他們忘記了分號或類似的東西,Apache 將不會呈現頁面,並且他們不會有任何關於哪裡出錯的線索。

您如何看待所使用的技術?

在另一個問題中,我問他們告訴我使用 Git,但我認為如果你想測試 Git 會很慢,因為你需要通過 SSH 連接到伺服器並執行 git pull。

你有什麼建議或想法嗎?

rsync重複同步文件將比 FTP 快得多 - 它只是檢查接收器上的文件大小和時間戳,以確定是否應該覆蓋文件,從而最大限度地減少每次同步傳輸的數據量。如果有很多文件,您可能需要考慮自動創建一個 tarball(例如使用inotifywait)並同步它,例如使用tar -cz . | ssh my-server tar -C /my/app/dir -xz(未經測試)。

make可用於使測試成為單個命令。像這樣Makefile的東西應該​​可以解決問題(你必須使用Tab縮進):

test:
   rsync --recursive --progress . my-server:/my/app/dir
   firefox https://my-server/test-page

如果您想做一些自動化測試,而不是每次使用Selenium時手動檢查更改。

PHP 有很多愚蠢的錯誤,而且就個人而言(經過理學碩士 + 10 年的程序員生涯),我相信它肯定會損害大腦。它充滿了可怕的錯誤,我希望你會考慮使用更理智的語言,比如 Java、Python、Ruby 甚至 Perl。壞習慣需要很長時間才能消亡,PHP 教會了很多壞習慣。

引用自:https://serverfault.com/questions/606985