首先,我的.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。查询等))无法创建缓存目录(/ 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
我认为我的应用程序在控制台和浏览器之间创建的权限不同,但我不知道为什么。
答案 0 :(得分:1)
您的网络服务器正在以普通的www-data
用户(属于www-data
组)运行,而您对PHPUnit的控制台调用使用外壳程序用户的用户和组创建了缓存。这很普遍,应该不足为奇-Shell用户为什么应该能够使用另一个用户写入数据?
最简单的解决方案是使用不同的环境,因为您还可以使用不同的设置来运行测试或访问渲染的网站。
如果您不想使用其他环境,the Symfony documentation为您提供一些建议:
www-data
应该不再使用)www-data
用户和您的Shell用户之后便拥有完全权限)