Laravel 6在phpunit.xml中包含一些其他配置:
<server name="APP_CONFIG_CACHE" value="bootstrap/cache/config.phpunit.php"/>
<server name="APP_SERVICES_CACHE" value="bootstrap/cache/services.phpunit.php"/>
<server name="APP_PACKAGES_CACHE" value="bootstrap/cache/packages.phpunit.php"/>
<server name="APP_ROUTES_CACHE" value="bootstrap/cache/routes.phpunit.php"/>
<server name="APP_EVENTS_CACHE" value="bootstrap/cache/events.phpunit.php"/>
如果我在PHPStorm中运行测试,则会收到以下错误:
在PackageManifest.php第168行中:
bootstrap / cache目录必须存在且可写。
但是bootstrap / cache目录确实存在并且可写。但是,如果我注释掉phpunit.xml中的那些新配置,则我的测试运行不会出现任何错误。我该如何解决?
我也跑了php artisan cache:clear
。没有运气。
答案 0 :(得分:2)
如果您正在运行Linux,则很可能是读/写权限问题,要解决这些问题,请执行以下操作:
在执行以下步骤之前,请确保位于Laravel文件夹之外
假设您的user
是所有者,请键入以下命令:
sudo chown -R user:www-data /path/of/your/laravel/project
然后授予用户和Web服务器权限,如下所示:
sudo find /path/of/your/laravel/project -type f -exec chmod 664 {} \;
然后运行:
sudo find /path/of/your/laravel/project -type d -exec chmod 775 {} \;
运行这些命令后,转到Laravel文件夹,并赋予网络服务器读取/写入bootstrap/cache
和storage
文件夹的权限:
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
它不仅可以解决您的问题,而且还可以解决您的项目安全性。
答案 1 :(得分:1)
这是Laravel结尾的问题:
https://github.com/laravel/framework/issues/29862
This PR修复了该问题。
将框架版本更新为最新版本(截至本回答时为6.0.3)可以解决此问题。