gpt4 book ai didi

linux - 使用控制台的 Symfony 缓存权限

转载 作者:太空宇宙 更新时间:2023-11-04 10:03:35 25 4
gpt4 key购买 nike

首先,我的 .env 中有 APP_ENV=benchmark

通过浏览器访问我的网站后,/var/cache/benchmark/ :

-rw-rw-rw-   1 dometech dometech     98 janv. 16 12:31 annotations.map
-rw-rw-rw- 1 dometech dometech 6198 janv. 16 12:31 annotations.php
drwxrwxrwx 2 www-data www-data 24576 janv. 16 12:27 Container3xlMUL6
-rw-rw-rw- 1 dometech dometech 0 janv. 16 12:31 Container3xlMUL6.legacy
drwxrwxrwx 2 dometech dometech 24576 janv. 16 12:31 ContainerYBspTLo
drwxrwxrwx 3 dometech dometech 4096 janv. 16 12:31 doctrine
drwxrwxrwx 10 dometech dometech 4096 janv. 16 12:31 pools
drwxrwxrwx 9 www-data www-data 4096 janv. 16 12:31 profiler
drwxrwxrwx 2 www-data www-data 4096 janv. 16 12:31 sessions
-rw-rw-rw- 1 dometech dometech 120497 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainerCompiler.log
-rw-rw-rw- 1 dometech dometech 6 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainerDeprecations.log
-rw-rw-rw- 1 dometech dometech 826 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainer.php
-rw-rw-rw- 1 dometech dometech 36921 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainer.php.meta
-rw-rw-rw- 1 dometech dometech 13649 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainerUrlGenerator.php
-rw-rw-rw- 1 dometech dometech 2493 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainerUrlGenerator.php.meta
-rw-rw-rw- 1 dometech dometech 10857 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainerUrlMatcher.php
-rw-rw-rw- 1 dometech dometech 2493 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainerUrlMatcher.php.meta
-rw-rw-rw- 1 dometech dometech 444567 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainer.xml
-rw-rw-rw- 1 dometech dometech 36025 janv. 16 12:31 srcApp_KernelBenchmarkDebugContainer.xml.meta
drwxrwxrwx 2 www-data www-data 4096 janv. 16 12:31 translations
drwxrwxrwx 140 dometech dometech 4096 janv. 16 12:31 twig
-rw-rw-rw- 1 dometech dometech 6846 janv. 16 12:31 validation.php

好的,没问题。之后:

  • 我运行命令 cache:clear
  • 我运行命令 APP_ENV=benchmark ./bin/phpunit(= 基准测试的装置和功能测试(执行时间、nb.查询等))<
  • 我再次通过浏览器访问我的网站,我遇到了这个错误:

Unable to create the cache directory (/var/www/Bubblemeet/var/cache/benchmark/twig/c5).

现在这是我的 /var/cache/benchmark/ :

-rw-rw-rw-  1 dometech dometech     98 janv. 16 12:35 annotations.map
drwxrwxrwx 2 www-data www-data 28672 janv. 16 12:35 Container3xlMUL6
drwxrwxrwx 2 dometech dometech 24576 janv. 16 12:34 ContainerYBspTLo
-rw-rw-rw- 1 www-data www-data 0 janv. 16 12:35 ContainerYBspTLo.legacy
drwxrwxrwx 3 dometech dometech 4096 janv. 16 12:34 doctrine
drwxrwxrwx 10 dometech dometech 4096 janv. 16 12:34 pools
drwxr-xr-x 4 dometech dometech 4096 janv. 16 12:34 profiler
drwxr-xr-x 2 dometech dometech 4096 janv. 16 12:34 sessions
-rw-rw-rw- 1 dometech dometech 120497 janv. 16 12:35 srcApp_KernelBenchmarkDebugContainerCompiler.log
-rw-rw-rw- 1 dometech dometech 6 janv. 16 12:35 srcApp_KernelBenchmarkDebugContainerDeprecations.log
-rw-rw-rw- 1 www-data www-data 826 janv. 16 12:35 srcApp_KernelBenchmarkDebugContainer.php
-rw-rw-rw- 1 www-data www-data 36921 janv. 16 12:35 srcApp_KernelBenchmarkDebugContainer.php.meta
-rw-r--r-- 1 dometech dometech 13649 janv. 16 12:34 srcApp_KernelBenchmarkDebugContainerUrlGenerator.php
-rw-r--r-- 1 dometech dometech 2493 janv. 16 12:34 srcApp_KernelBenchmarkDebugContainerUrlGenerator.php.meta
-rw-r--r-- 1 dometech dometech 10857 janv. 16 12:34 srcApp_KernelBenchmarkDebugContainerUrlMatcher.php
-rw-r--r-- 1 dometech dometech 2493 janv. 16 12:34 srcApp_KernelBenchmarkDebugContainerUrlMatcher.php.meta
-rw-rw-rw- 1 www-data www-data 444270 janv. 16 12:35 srcApp_KernelBenchmarkDebugContainer.xml
-rw-rw-rw- 1 www-data www-data 36025 janv. 16 12:35 srcApp_KernelBenchmarkDebugContainer.xml.meta
drwxr-xr-x 2 dometech dometech 4096 janv. 16 12:34 translations
drwxr-xr-x 15 dometech dometech 4096 janv. 16 12:34 twig

我认为我的应用不会在我的控制台和浏览器之间创建相同的权限,但我不知道为什么。

最佳答案

您的网络服务器使用通常的 www-data 用户(属于 www-data 组)运行,而您的 PHPUnit 控制台调用使用您的创建了缓存shell 用户的用户和组。这很常见,也不足为奇 - 为什么 shell 用户能够使用其他用户写入数据?

最简单的解决方案是使用不同的环境,因为您还可以使用不同的设置来运行测试或访问呈现的网站。

如果您不想使用不同的环境,the Symfony documentation对您有一些想法:

  • 对 shell 和网络服务器使用相同的用户(这意味着不应再使用 www-data)
  • 为您的缓存文件夹使用 ACL(以便之后 www-data 用户和您的 shell 用户都拥有完全权限)

关于linux - 使用控制台的 Symfony 缓存权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54216326/

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