已关闭此问题为not about programming or software development。它目前不接受回答。
这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
12天前关闭
Improve this question
因此,我在运行Amazon Linux 2的AWS中的EC2上运行Laravel 5.7.29和PHP 7.2.34,我已经完全设置了项目并尝试运行它,但每当我使用EC2公共IP和端口连接时,我都会得到这个错误:
我首先检查.env并确保CACHE_DRIVER=file,然后检查PHP/cache.php并确保
'default' => env('CACHE_DRIVER', 'file'),
在那里,
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
],
然后我看到项目没有做“storage/framework/cache/data”,所以我做了这个文件夹,并确保给予它和bootstrap/cache的阅读和写入权限,
sudo chmod -R 775
然后仔细检查我用了
ls -la
检查权限,所有权限都归root所有,在此之后,我这样做了
sudo php artisan cache:clear
仍然得到了这个
,更令人困惑的是,我使用sudo,仍然得到了错误,然后我试图运行服务器和curl本地主机,令人惊讶的是,它工作,没有任何错误被抛出,被这个问题卡住了至少2天,有什么解决方案吗?
编辑1:我在另一个目录中再次克隆了repo,并尝试了所有其他步骤,仍然得到相同的错误,奇怪的是,当我执行chown -R 777 bootstrap/cache storage
时,我仍然得到了权限错误,然后我将其返回到775
编辑2:我已经联系了一个人从团队谁是工作的项目讨论这个问题,希望它会得到解决,感谢大家的建议和善良^^
编辑3:我终于设法修复了这个错误,在联系开发人员后,他告诉我,php artisan cache:clear
将查看一个名为dstore
的文件进行缓存,但该文件不存在,所以我做了dstore/framework/cache/data
,它工作了,谢谢大家的帮助^^
4条答案
按热度按时间2ic8powd1#
请不要在
php artisan
命令前使用sudo
。sudo
是一个用于类Unix计算机操作系统的程序,它使用户能够以另一个用户(默认为超级用户)的安全权限运行程序。而Artisan是Laravel中包含的命令行界面。简而言之,只需运行:
dbf7pr2w2#
当我在laravel应用程序中遇到权限问题时,我运行这些命令来解决这个问题。在
storage/framework
文件夹中手动创建必要的文件夹,然后更改bootstrap
和storage
文件夹的所有者和权限m2xkgtsf3#
当你使用amazon Linux时,你可能不会发现
chmod -R www-data:www-data storage
命令有什么用。默认情况下,amazon Linux使用ec2-user
作为用户。因此,您应该首先使用命令whoami
查找当前用户名;之后,您应该根据服务器用户组获得足够的权限。我不确定你是否使用Apache或Nginx来部署你的项目。然后,您应该通过以下方式为存储和缓存目录授予给予适当的组权限
chmod -R $USER:$USER storage
chmod -R $USER:$USER bootstrap/cache
vyu0f0g14#
在联系开发人员后发现了这个问题,
php artisan cache:clear
寻找自定义dstore
目录而不是默认存储,我做了dstore/framework/cache/data
并再次运行该高速缓存清除命令,它工作了,谢谢大家的建议和善意^^