【问题标题】:Laravel 5.2 - bootstrap/cache/services.php missingLaravel 5.2 - 缺少 bootstrap/cache/services.php
【发布时间】:2016-11-07 13:49:09
【问题描述】:

在我运行 composer update/install 之后,当我运行 php artisan cache:clear 时。我收到以下错误。

[ErrorException] file_put_contents({application-root-path}/bootstrap/cache/services.php):打开流失败:没有这样的文件或目录

是否有任何命令能够重新缓存文件?至于现在无论我运行什么 php artisan 函数也会陷入同样的​​错误。

p/s:如果您需要我提供任何进一步的信息以供调试使用,请在下方评论。

【问题讨论】:

  • php artisan 命令在 CLI 中运行您的应用程序。当应用程序在 CLI 中运行时,我们不能使用一些服务器变量等等。所以这导致了这个错误。请检查您的代码并查看您在应用程序中使用file_put_contents() 函数的位置。

标签: laravel laravel-5 laravel-5.2


【解决方案1】:

确保运行此命令:

sudo chmod 777 -R bootstrap/cache

【讨论】:

  • 好的,谢谢!如果找不到目录,请通过 mkdir bootstrap/cache 创建它。
  • 不要在那个文件夹上设置 777,而是设置正确的组并且只允许对该组的写访问。看到这个答案:stackoverflow.com/a/37266353/987864
  • 5.4 的有效响应。从 5.3 升级后,我最近发现了这个问题。
  • sudo chmod -R 777 引导/缓存
【解决方案2】:

只需输入:

cd bootstrap/
mkdir cache
cd .. 
composer install

【讨论】:

  • 为了安全,官方建议 composer 永远不要以 root 或 sudo 运行。详细推理在这里提供:getcomposer.org/root
【解决方案3】:

运行这个命令

php artisan optimize --force

它将创建 services.phpcompiled.php

【讨论】:

  • 从 Laravel 5.5 开始,不再需要 PHP artisan 优化。
【解决方案4】:

我这样解决了这个问题: 如果有缓存目录,删除后重新创建

【讨论】:

    猜你喜欢
    • 2017-11-16
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    相关资源
    最近更新 更多