与服务器同步的不同技术

与服务器同步的不同技术

嗯,我现在在大学里教 DB 课程。学生们已经完成了高级编程(这包括用整个学期的大量项目折磨他们,他们确实学到了很多东西)。

在我的课程中目前有一个项目,我为每个学生提供一个服务器帐户,他必须使用 PHP 连接到 PostgreSQL,显示一些查询,修复一些 SQL 无法使用 PHP 处理的问题等等。

但我正在想办法改进。目前他们使用 FTP 连接到服务器,上传 php 文件,然后查看更改情况。当然,如果他们忘记了分号或类似的东西,Apache 就不会呈现页面,他们也不知道出了什么问题。

您对于所使用的技术有何看法?

在我问的另一个问题中,他们告诉我使用 Git,但我认为如果你想测试的话,Git 很慢,因为你需要 SSH 到服务器并执行 git pull。

您有什么建议或想法吗?

答案1

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

如果你想做一些自动化测试,而不是每次都手动检查更改,你可以使用

PHP 有很多愚蠢的错误,我个人(在获得理学硕士学位并担任了 10 年程序员之后)认为它确实会损害大脑。它充满了可怕的错误,我希望你会考虑使用更明智的语言,例如 Java、Python、Ruby 甚至 Perl。坏习惯需要很长时间才能改掉,而 PHP 教会了我们很多坏习惯。

相关内容