Laravel:file_put_contents()无法打开流:对于Session文件夹,权限被拒绝。

17 浏览
0 Comments

Laravel:file_put_contents()无法打开流:对于Session文件夹,权限被拒绝。

我已经为存储文件夹设置了777权限,并指定了用户和组,但是在会话中仍然遇到了这个问题。\n在Filesystem.php的81行出现了ErrorException:file_put_contents(/var/www/html/business/storage/framework/sessions/2b184c1b05d6d2af943d9a4e48875301321a56ec):无法打开流:权限被拒绝。\n我该如何解决这个问题?

0
0 Comments

问题原因:file_put_contents()函数无法打开Session文件夹。解决方法:将Session文件夹的权限设置为777。

给文件夹session设置777权限对我有效。

请提供更多细节来扩展您的答案,例如工作代码或文档引用。

这不是一个好的方法来定义777权限。这对您的应用程序和系统构成安全风险。请阅读这个答案:askubuntu.com/questions/20105/…,为什么这个系统需要它而不安全?我尝试从000到777,只有777起作用。:( 之所以被认为是不好的,是因为它允许文件拥有所有权限。这意味着任何人都可以读取和执行您的文件/脚本,这并不是那么糟糕,但任何人也可以修改您的文件,这完全是糟糕的。这就是您在移动设备上设置密码的原因。任何人都可以看到您的手机。使用您的手机拨打紧急号码,但他们无法执行任何其他操作。我在上面提到了答案以便更好地理解。请从那里阅读,我在这个评论框中只能解释很少的内容。祝您愉快!:)

0
0 Comments

Laravel: file_put_contents() failed to open stream: Permission denied for Session folder是一个常见的错误,通常是由于权限问题导致的。解决这个问题有两种方法:禁用SELinux或者配置SELinux策略。

如果尝试运行以下命令后仍然无法解决问题:

chmod -R gu+w storage
chmod -R guo+w storage
php artisan cache:clear

那么可以尝试以下两种方法:

1. 禁用SELinux(不推荐,除非你在进行培训或学习)。

2. 配置SELinux策略,下面是详细的配置步骤:

假设你已经安装了所有的数据库(如mysql、postgresql等)和Web服务器。

1. 使用命令"yum provides /usr/sbin/semanage"安装semanage。

2. 使用命令"yum install -y policycoreutils-python"安装policycoreutils-python。

3. 创建策略:

a. sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/webapp(/.*)?"

b. sudo semanage fcontext -a -t httpd_log_t "/var/www/html/webapp/logs(/.*)?"

c. sudo semanage fcontext -a -t httpd_cache_t "/var/www/html/webapp/cache(/.*)?"

4. 允许读写访问:

a. sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/webapp/storage(/.*)?"

5. 还原上下文:

a. restorecon -Rv /var/www/html/webapp

通过以上步骤,可以解决该问题。特别要注意的是restorecon命令。

希望这篇文章对你有帮助。谢谢。

0
0 Comments

问题原因:Laravel使用file_put_contents()函数时,出现了"Permission denied"错误,这是由于Session文件夹的权限设置问题引起的。

解决方法:可以通过以下步骤来解决该问题:

1. 执行chmod -R gu+w storage命令,为storage文件夹设置读写权限。

2. 执行chmod -R guo+w storage命令,为storage文件夹设置所有者的读写权限。

3. 执行php artisan cache:clear命令,清除缓存。

4. 如果以上步骤都没有解决问题,尝试清除浏览器的cookies和缓存。

以上解决方法参考了这里的回答。

对于使用VPS服务器的用户,执行chmod -R guo+w storage命令可能会解决问题。

希望以上内容对解决"Laravel: file_put_contents() failed to open stream: Permission denied for Session folder"问题有所帮助。

0