Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔的许可被拒绝_Php_Apache_Laravel_Laravel 5_Laravel 5.2 - Fatal编程技术网

Php 拉威尔的许可被拒绝

Php 拉威尔的许可被拒绝,php,apache,laravel,laravel-5,laravel-5.2,Php,Apache,Laravel,Laravel 5,Laravel 5.2,今晚,我试图运行composer安装并正确安装所有依赖项,然后composer运行php artisan clear compiled,我遇到了麻烦 下面是它返回的错误: > php artisan clear-compiled [Error

今晚,我试图运行
composer安装
并正确安装所有依赖项,然后composer运行
php artisan clear compiled
,我遇到了麻烦

下面是它返回的错误:

> php artisan clear-compiled

                                                                                                                          
  [ErrorException]                                                                                                        
  file_put_contents(/srv/something/site/bootstrap/cache/services.php): failed to open stream: No such file or directory  
                                                                                                                          

Script php artisan clear-compiled handling the post-install-cmd event returned with an error


                      
  [RuntimeException]  
  Error Output:       
                      


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] [<packages>]...
到目前为止,为了解决这个问题,我已经做了以下工作:

  • 检查权限,将所有内容更改为
    777
    ,并归
    www-data
  • 尝试在没有供应商文件的情况下重新控制空存储库,但无效,composer安装时出现相同错误
  • 运行php artisan缓存:清除
  • 运行php artisan clear编译的
  • 运行php artisan dump自动加载
  • irc
    建议上修改了
    site/config/view.php
    ,并将
    compiled'=>realpath(storage_path()./framework/views')
    更改为
    'compiled'=>storage_path('framework/views'),
    ,这产生了一个不同的错误:
    文件内容(/srv/something/site/storage/framework/views/8ff8cea6e3bb10ecececc87b9d62c64f9768c4c4ab1.php):无法打开流:没有这样的文件或目录
    (可能是因为它不应该在那里,但谁知道这些信息可能有用。)

  • 所有这些都无济于事。奇怪的是,这个问题似乎不知从哪里冒出来。谢谢你的帮助!

    结果是我在
    laravel\u root/storage/
    中缺少了一个视图目录。为了解决这个问题,我所要做的就是:

  • cd{laravel_root}/storage
  • mkdir-pv框架/视图应用框架/会话框架/缓存
  • cd..
  • chmod 664-R存储器
  • chown-R www数据:www数据存储

  • 之后,在重新加载时,问题得到了解决。感谢
    freenode
    上的
    Someguy123
    解决了这个问题!

    我也遇到了同样的问题。这是在使用git clone创建了一个新项目之后。原来这是因为我在gitignore文件上有/storage/framework/views/我只是
    mkdir storage/framework/views/
    sudo chown-R www-data:www-data-storage
    一切都恢复正常。希望这对其他人有所帮助。

    如果您对Laravel应用程序文件夹的权限为777,但仍然出现该错误,那是因为Seliux已阻止了它。可以使用下面的命令解除对应用程序文件夹的阻止

    su -c "chcon -R -h -t httpd_sys_script_rw_t /var/www/laravel-folder"
    

    实际上,对我来说,只有一个解决方案:添加sudo:
    sudo php artisan storage:link-像这样的

    似乎很明显是一个权限问题。我知道你说你爆了一个
    777
    ,但你是在哪里做的?我会继续在存储目录上尝试递归777:
    chmod-R 777 storage
    @jpschroeder我试了没用,这是我的laravel根和th的ls-le存储目录目录:您的ls-l显示整个目录归root所有,并且存储目录不可写,因此我认为您没有正确更改权限。
    cd{laravel\u root}
    然后运行
    sudo chown-R www-data:www-data.
    sudo chmod-R 777存储
    @judereid我刚刚修复了它,它做的事情与以前一样(新的ls-l)我很确定这个错误与PHP工匠清楚的编译错误有关。设置777是一个坏习惯,考虑把这个组设置到你的WebServer用户,并允许只允许那个组在那个文件夹中写入。检查这个答案:很高兴你能使它运行。奇怪的是,你必须手动创建那些目录。因为它们是原件的一部分。安装时使用了<代码>作曲家创建项目命令吗?@ JPSHROEDER YEP,问题是Git意外删除文件。设置777是一个坏习惯,考虑将该组设置为Web服务器用户,并允许只允许该组在该文件夹中写入。请检查此答案:HO在windows中如何?@iansorÅ.Ålmerol如果您有SElinux,请确保在windows上使用管理员用户(检查/var/log/audit/audit.log)如果您尝试在http根文件夹之外包含php文件,请参阅NEVER use 777 permissions。请参阅stackoverflow.com/a/37266353/470749这不是答案,可能是对原始帖子的响应,而不是答案。请下次注意,谢谢。随机运行sudo以检查这是否解决了问题始终是一个问题坏主意
    su -c "chcon -R -h -t httpd_sys_script_rw_t /var/www/laravel-folder"