Laravel:array_merge():参数#2不是数组错误

时间:2014-08-29 19:46:35

标签: laravel laravel-4 composer-php

异常开始出现在所有视图中,当我尝试运行composer update时,它总是以

结束
{"error":{"type":"ErrorException","message":"array_merge(): Argument #2 is not an array","file":"\/laravel\/framework\/src\/Illuminate\/Foundation\/ProviderRepository.php","line":188}}

9 个答案:

答案 0 :(得分:34)

经过大量搜索并浏览“app”文件夹中的每个文件后,似乎一个文件已损坏

删除 app / storage / meta / services.json 并重新运行composer update,这应解决它。

答案 1 :(得分:6)

有时只删除app/storage/meta/services.json并运行composer update无法解决错误:array_merge(): Argument #2 is not an array error。至少在我的情况下,它没有。

大多数情况下,当你搞砸bootstrap/cache/services.json文件时就会发生这种情况。运行composer update不会生成services.json文件。

要生成services.json文件,您需要删除之前的bootstrap/cache/services.json文件并运行php artisan serve。然后它将生成一个新的services.json`文件。

希望对某人有帮助!

答案 2 :(得分:2)

  1. 删除bootstrap文件夹
  2. git reset --hard
  3. composer install
  4. 完成

答案 3 :(得分:1)

我解决了:

打开此文件夹-> / Applications / MAMP / htdocs / ***** / vendor / laravel / framework / src / Illuminate / View / Factory.php

并对这一行发表评论

//$data = array_merge($mergeData, $this->parseData($data));

行号-> 136。

答案 4 :(得分:0)

只有composer update为我工作。

答案 5 :(得分:0)

我在重新安装时遇到了类似的问题。

我这样解决了它: 删除了bootsrap/cache/**services.php**,然后我 使用浏览器浏览到该网站,它生成了一个新的services.php,然后开始工作。

答案 6 :(得分:0)

您可能只是忘了将compact('var')用作第二个返回视图参数

返回视图(“ path.to.view”,紧凑('var')

答案 7 :(得分:0)

我遇到了这个问题,我的问题是 composer.json 中“pusher/pusher-php-server”的版本与我的 Laravel 版本不匹配。出于这个原因,composer-update 和删除缓存对我不起作用。

我想也许这些信息可以帮助某人。

答案 8 :(得分:0)

我遇到了同样的错误 - “array_merge(): Argument #2 is not an array error”。运行“composer dump-autoload”,然后运行 ​​npm run dev 立即解决了问题。无需更新 composer、npm 等