Laravel 5 Laravel 5-写入供应商目录

Laravel 5 Laravel 5-写入供应商目录,laravel-5,Laravel 5,拉威尔5号在工作了一段时间后坠毁了。以下是错误: 文件内容(/Library/WebServer/Documents/project/vendor/services.json): 无法打开流:权限被拒绝 在Filesystem.php第74行中 我想知道它为什么试图写入供应商目录?(请参阅下面的更新!) 对于Laravel v5.0.15,用于缓存的某些存储文件已移动到其他位置 受影响的文件: services.json compiled.php routes.php 引用其中一个开发人员的

拉威尔5号在工作了一段时间后坠毁了。以下是错误:

文件内容(/Library/WebServer/Documents/project/vendor/services.json): 无法打开流:权限被拒绝

在Filesystem.php第74行中

我想知道它为什么试图写入供应商目录?

(请参阅下面的更新!)

对于Laravel v5.0.15,用于缓存的某些存储文件已移动到其他位置

受影响的文件:

  • services.json
  • compiled.php
  • routes.php
引用其中一个开发人员的话:

这对供应商来说更有意义。这使得文件 与已安装的依赖项紧密相关

有关更改的更多信息和讨论,请参阅

更新:经过一些讨论,维护人员改变了这种行为

从v5.1开始,所有三个文件都将写入
bootstrap/cache
。如果您使用的是v5.0。*,请继续阅读:

除非供应商目录实际上是可写的,否则不会将其写入

此外,将方法
useStoragePathForOptimizations(bool)
添加到Illumb\Foundation\App中,可以从bootstrap/App.php调用该方法。这将设置属性
$useStoragePathForOptimizations
,并确定是否应将存储目录用于优化

有关更多信息,请参阅以下两个提交:


尝试此artisan命令

php artisan cache:clear

伟大的非常感谢:)哇,我不知道发生了什么,但它成功了!虽然我在设置窗体Facade时遇到了这个问题。@ajay23romu,但您有两个选择:1)升级到Laravel 5.1,它使用
bootstrap/cache
目录存储缓存文件。确保此目录是可写的。或者2)编辑
bootstrap/app.php
并添加以下行:
$app->useStoragePathForOptimizations(true)
然后确保目录
存储/framework
可写。但是,建议升级到Laravel 5.1,这是一个“长期支持”版本。
php artisan cache:clear