【问题标题】:Permission Denied after adding Sitemap ServiceProvider?添加站点地图服务提供商后权限被​​拒绝?
【发布时间】:2017-02-11 15:05:48
【问题描述】:

我在运行现有 Laravel 5.3 项目的开发机器上通过 composer 安装了 Roumen\Sitemap,并设置了服务提供者和中间件路由。这一切都在我的开发环境中运行良好。

我通过 FTP 将以下文件和文件夹上传到网络服务器。

/Http/Kernel.php (added ''sitemap' => '\App\Http\Middleware\Sitemap',' to the protected $middleware variable)
/config/sitemap.php
/config/app.php // (added Roumen\Sitemap\SitemapServiceProvider::class)
/public         // (for some vendor views and assets)
/Http/routes.php    // (just for retrieving the sitemap)
/Http/Middleware/Sitemap.php

为了确定,我运行了 sudo chmod -R 777 vendor 和 sudo chmod -R 777 storage

但我得到了错误:

production.ERROR: exception 'ErrorException' with message 'file_put_contents(myproject/bootstrap/cache/services.php): failed to open stream: Permission denied' in /myproject/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:111
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'file_put_conten...', '/myproject/la...', 111, Array)
#1 /myproject/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(111): file_put_contents('/myproject/...', '<?php return ar...', 0)
#2 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(190): Illuminate\Filesystem\Filesystem->put('/myproject/la...', '<?php return ar...')
#3 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(135): Illuminate\Foundation\ProviderRepository->writeManifest(Array)
#4 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(60): Illuminate\Foundation\ProviderRepository->compileManifest(Array)
#5 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(530): Illuminate\Foundation\ProviderRepository->load(Array)
#6 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php(17): Illuminate\Foundation\Application->registerConfiguredProviders()
#7 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(203): Illuminate\Foundation\Bootstrap\RegisterProviders->bootstrap(Object(Illuminate\Foundation\Application))
#8 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(232): Illuminate\Foundation\Application->bootstrapWith(Array)
#9 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(127): Illuminate\Foundation\Http\Kernel->bootstrap()
#10 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(99): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#11 /myproject/public/index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#12 {main}  

我是不是忘记了什么?

【问题讨论】:

    标签: laravel permissions laravel-5.3


    【解决方案1】:
    'ErrorException' with message 'file_put_contents(myproject/bootstrap/cache/services.php): 
    failed to open stream: Permission denied' 
    

    很明显bootstrap/cache文件夹中的权限不正确。

    轻松修复:sudo chown -R www-data:www-data /myproject/bootstrap/cache

    【讨论】:

      猜你喜欢
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 2017-11-08
      • 2011-03-04
      • 1970-01-01
      • 2018-07-18
      相关资源
      最近更新 更多