【问题标题】:file_put_contents(meta/services.json): failed to open stream: Permission deniedfile_put_contents(meta/services.json):无法打开流:权限被拒绝
【发布时间】:2014-06-25 17:53:51
【问题描述】:

我是 Laravel 的新手。我试图打开http://localhost/test/public/,我得到了

异常处理程序中的错误。

我用谷歌搜索并使用chmod -R 777 app/storage更改了存储目录的权限,但无济于事。

我在app.php 中更改了debug=>true 并访问了该页面并在异常处理程序中得到错误:

流或文件“/var/www/html/test/app/storage/logs/laravel.log” 无法打开:无法打开流:权限被拒绝 /var/www/html/test/bootstrap/compiled.php:8423

然后我使用命令chmod -R 644 app/storage 更改了存储目录的权限,并且“异常处理程序中的错误”错误消失并加载了一个页面。但在那里我得到了这个:

file_put_contents(/var/www/html/laravel/app/storage/meta/services.json): 无法打开流:权限被拒绝

【问题讨论】:

  • 看起来又是许可问题,递归地chmod所有应用程序目录
  • @alou 我想我已经用 chmod -R 777 app/storage 做到了。我不是吗?并且app里面的所有目录都有drwxrwxrwx权限。
  • 尝试:php artisan cache:clear 然后chmod -R 777 app/storage 最后php artisan dump-autoload
  • @vsmoraes 成功了。如果您能解释问题所在,那将非常有帮助。
  • vsmoraes 的评论是正确的,但是应该是 'composer dump-autoload' 而不是 'php artisan dump-autoload'

标签: php exception laravel laravel-4


【解决方案1】:

上述解决方案都对我没有用处,因为 我没有 SSH 访问权限 来运行清除缓存或授予递归权限的命令,所以我通过删除解决了这个问题此文件和问题已修复。

您可以删除bootstrap/cache/config.php 文件。

【讨论】:

    【解决方案2】:

    我尝试让777 访问存储文件夹,它对我有用

    1) 转到你的 laravel 根目录,(我是/var/www/html)并运行以下命令

    chmod 777 -R storage
    

    【讨论】:

    • 不要将权限设置为 777,因为这会使目录对所有可以看到该目录的人可见和可编辑。不推荐!
    猜你喜欢
    • 2011-06-22
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2022-09-22
    • 2016-09-21
    • 1970-01-01
    相关资源
    最近更新 更多