空的 services.json 文件正在破坏站点

Posted

技术标签:

【中文标题】空的 services.json 文件正在破坏站点【英文标题】:Empty services.json file is breaking site 【发布时间】:2016-01-19 05:16:30 【问题描述】:

我收到了

哎呀,好像出了点问题。

在我的生产服务器上。

突然之间,没有工匠命令在起作用。我在/bootstrap/compiled.php:4496 上遇到错误。

删除 compiled.php 后,我收到相同的消息

“array_merge(): Argument #2 is not an array” in /vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository".php:188.

我的 services.json 文件是空的,当我尝试 PHP artisan cache:clear 时,我收到相同的错误消息。

有人知道我接下来可以尝试什么吗?提前致谢

【问题讨论】:

如果services.json 很重要,请尝试将[] 放入其中 ProviderRepository.php line 188 的代码是什么? 它在 services.json 中读取。如果 services.json 不存在,那么它应该创建它。但是,它无法创建它并留下一个空文件。 如果我把 [] 放在 services.json 中,那么它会抛出“未定义索引”的错误。问题是 services.json 文件没有被正确创建。 这是 Laravel 中一个荒谬的问题。我们在数百台设备上安装了我们的应用程序,这会导致所有单个设备出现问题。有谁知道这个问题的原因,以便我们将来预防? 【参考方案1】:

您是否尝试过删除您的供应商 + /bootstrap/compiled.php 和您的 service.json,然后尝试使用 composer install 再次重新安装 laravel?

【讨论】:

【参考方案2】:

看起来我们的服务器空间不足。这就是它无法写入文件的原因。

【讨论】:

【参考方案3】:

当 Laravel 在没有调试选项的情况下投入生产时,此消息会显示“哎呀,看起来出了点问题。”,你可以编辑你的 .env 行

APP_DEBUG=false

APP_DEBUG=true

然后你会看到错误(有更多关于错误的信息)你会知道如何修复。

从 bootstrap/cache 中删除 services.json 解决了这个问题。 来源:https://laracasts.com/discuss/channels/laravel/update-to-51-and-array-merge-argument-2-is-not-an-array

【讨论】:

我给出了错误。 “array_merge(): 参数 #2 不是数组”在 /vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository".php:188. 这是 laravel 4.2,而不是 5.1。如果我删除 /app/storage/meta 中的 services.json,它只会重建空文件(0 字节)。错误仍然存​​在。 删除后是否重新运行composer?作曲家转储自动加载和作曲家更新。链接上的答案也是关于 laravel 4。 是的。我做了这一切。谢谢 当我调用 'php composer.phar update' 时,更新会运行,但一旦它调用了 artisan 命令,我就会收到 ProviderRepository.php 错误(artisan clear-compiled,artisan optimize)。如果我尝试清除缓存(无论是否强制),都会出现同样的错误。我的头撞墙了!

以上是关于空的 services.json 文件正在破坏站点的主要内容,如果未能解决你的问题,请参考以下文章

将 google-services.json 提交到 GitHub

添加 Django 站点会破坏我在 CentOS 7 上的虚拟主机

Laravel 4.2 services.json 文件在主机根目录下创建

文件 google-services.json 丢失。没有它,Google 服务插件无法运行 ionic 3

引导导航破坏站点宽度

MacOS Safari 11“防止跨站点跟踪”破坏了网站的谷歌登录