我只是git clone
我的一个包含Laravel 5.1项目的存储库。我已经完成了正常的步骤来启动和运行(设置webserver,db等)。我现在已经转到我配置的网址,我收到以下错误消息:
ErrorException in compiled.php line 6648:
file_put_contents(/3c7922efc24ab13620cd0f35b1fdaa61): failed to open stream: Permission denied
任何想法都是它试图访问的文件夹?
答案 0 :(得分:6)
要解决此问题,我需要创建一些我的安装中缺少的文件夹。您需要以下文件夹才能由您的www用户读取和写入:
/storage
/storage/cache
/storage/framework
/storage/framework/sessions
/storage/framework/views
/storage/framework/cache
/storage/logs
另外,将文件夹权限设置为775
。从根目录运行命令:sudo chmod -R 755 storage
答案 1 :(得分:3)
我用此解决方案解决了这个问题,澄清了,如果您使用Windows,则应用第1行和第3行,其工作原理相同。
await channel.send(message.content(608999881578774540))
答案 2 :(得分:1)
如果你正在使用ubuntu,很可能你必须授予该文件夹存储的权限
进入项目并进入 使用命令 - > sudo chmod 755存储/ *
答案 3 :(得分:1)
我最近在测试中遇到了这个问题,并通过以下方式解决了这个问题:composer dump-autoload
答案 4 :(得分:0)
对我来说,这是因为单个文件是root拥有的...在设置文件时写的某个时候,应用无法读取它。解决方案可能是更改所有权,放弃所有权等等。
答案 5 :(得分:0)
我的 localhost 中有类似的问题,问题是我试图在我的 php.ini 文件中上传大于upload_max_filesize
的文件。
只是将其更新为更大的值并重新启动服务器即可解决问题,如果您遇到类似的问题,则可能是这种情况
答案 6 :(得分:0)
对我来说,解决方案是更改laravel项目的文件夹所有者。确保该用户是您自己的用户,而不是root:www-data。
sudo chown -R username:group directory
答案 7 :(得分:0)
如果您使用的是Linux(centos),这是您需要做的 我假设使用默认的nginx目录,但是您的目录可能是apache,它也应该适用[只需相应地更改路径]。
sudo chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/my-site/dir-to-make-writeable
cd /usr/share/nginx/html
sudo chown -R nginx:nginx ./my-site
这应该为Web目录设置适当的上下文
答案 8 :(得分:0)
如果没有任何帮助,并且如果您使用 docker 在 Windows 上工作,则可能是符号链接错误的问题,您可以尝试:
ln -s /var/www/storage/app/public /var/www/public/storage
然后:
chown -R $USER:www-data storage
chmod -R 777 storage
在 docker bash 上。