gpt4 book ai didi

symfony - Assetic dump 为不同的 Symfony2 项目使用相同的 tmp 文件夹

转载 作者:行者123 更新时间:2023-12-02 01:48:07 25 4
gpt4 key购买 nike

我有以下环境: Ubuntu 机器上的一个 Apache2 Web 服务器,带有三个虚拟主机(每个项目一个虚拟主机)。这三个项目都在 Symfony2 上运行(但版本不同,从 2.2 到 2.4)。每个项目(及其路径)都有自己的用户。我正在此服务器上使用 capifony 部署项目,每个项目都有自己的收据。

Sass版本
Sass 3.2.14(媒体标记)

想象一下,我正在将应用程序 1 部署到 Web 服务器。当部署过程转储所有生产 Assets 时,它将临时生成的 sass 文件写入以下文件夹:

/tmp/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced



作为用户 1。

如果我现在将应用程序 2 部署到 Web 服务器,则将 Assets 转储到完全相同的文件夹中,这次是 user2,并且会发生以下错误:

An error occurred while running: * [err :: 10.0.106.103] '/usr/bin/ruby' '/usr/local/bin/sass' '--load-path' '/srv/vhosts/myproject.com/releases/20140619124055/app/../web/sass' '--scss' '--cache-location' '/tmp' '/tmp/assetic_sassbsrcle' * [err :: 10.0.106.103] * [err :: 10.0.106.103] Error Output: Errno::ENOENT: No such file or directory - /tmp/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced/assetic_sassbsrclec20140619-27927-aw8xrk.lock



我目前的解决方法是,每次部署前都删除此/tmp/600d657f6ac2358f30ba6bc0ab4cd7ffb6194ced 文件夹。

我在 capifony 收据和所有项目的 Symfony2 配置文件中都没有找到任何路径配置。

任何帮助表示赞赏。

最好的事物,
拉莫

最佳答案

这已在官方 Assets 存储库 as an issue 中引用,同样。由于您可以设置sys_get_temp_dir()通过环境变量 TMPDIR (除其他外),我建议为您的转储这样做。您可以基于当前的 unix 时间,或者您正在部署的提交,或者应用程序、时间和意图的组合。真的,什么都行。负责设置缓存位置的行 is here ,如果你想 fork Assetic 并改变它,这也是非常可行的。我建议使用 TMPDIR路线以确认潜在的修复。

小编,还有this pull半解决这个问题。

关于symfony - Assetic dump 为不同的 Symfony2 项目使用相同的 tmp 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24307185/

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