添加站点地图服务提供商后权限被拒绝



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

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

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

可以肯定的是,我运行了sudo chmod -R 777供应商和sudo chmod -R 777存储

但是我得到错误:

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]: IlluminateFoundationBootstrapHandleExceptions->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): IlluminateFilesystemFilesystem->put('/myproject/la...', '<?php return ar...')
#3 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(135): IlluminateFoundationProviderRepository->writeManifest(Array)
#4 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(60): IlluminateFoundationProviderRepository->compileManifest(Array)
#5 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(530): IlluminateFoundationProviderRepository->load(Array)
#6 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php(17): IlluminateFoundationApplication->registerConfiguredProviders()
#7 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(203): IlluminateFoundationBootstrapRegisterProviders->bootstrap(Object(IlluminateFoundationApplication))
#8 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(232): IlluminateFoundationApplication->bootstrapWith(Array)
#9 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(127): IlluminateFoundationHttpKernel->bootstrap()
#10 /myproject/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(99): IlluminateFoundationHttpKernel->sendRequestThroughRouter(Object(IlluminateHttpRequest))
#11 /myproject/public/index.php(54): IlluminateFoundationHttpKernel->handle(Object(IlluminateHttpRequest))
#12 {main}  

我忘记了什么吗?

'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

最新更新