gpt4 book ai didi

php - 寻找一种安全的方式来部署 PHP 代码

转载 作者:IT王子 更新时间:2023-10-29 00:58:13 25 4
gpt4 key购买 nike

我们现在如何做事

我们有一个文件服务器(使用 NFS),多个 Web 服务器挂载并使用这些挂载作为 Web 根目录。当我们部署代码库时,我们将存档 (tar.gz) SCP 到 NFS 服务器,并直接在文件服务器的“web 目录”中取消存档数据。

问题

在部署过程中,我们看到一些 i/o 错误,主要是在无法读取请求的文件时:Smarty error: unable to read resource: "header.tpl" 这些错误似乎消失了部署完成后离开,所以我们假设这是因为将数据直接解档到 web 目录并不是最安全的事情。我猜我们需要一些原子性的东西。

我的问题

我们如何以原子方式将新文件复制到现有目录(网络服务器的根目录)?

编辑

我们不妥协到 web 目录中的文件并不是该目录中唯一的文件。我们正在将文件添加到已经有文件的目录中。因此,复制目录或使用符号链接(symbolic link)不是一种选择(据我所知)。

最佳答案

这是我的做法。

例如,DocumentRoot 是/var/www/sites/www.example.com/public_html/:

cd /var/www/sites/www.example.com/
svn export http://svn/path/to/tags/1.2.3 1.2.3
ln -snf 1.2.3 public_html

在更改符号链接(symbolic link)而不是从 svn 导出之前,您可以轻松修改它以扩展您的 .tar.gz。重要的是更改是符号链接(symbolic link)的原子应用。

关于php - 寻找一种安全的方式来部署 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8538914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com