Laravel: array_merge(): Argument #2 is not an arra

2020-05-30 10:24发布

问题:

Exceptions started to appear in all views, and when I try to run composer update, it always ends up with

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

回答1:

After a lot of searching and exploring each file in the 'app' folder, it appears that one file was corrupt

Delete app/storage/meta/services.json and re-run composer update and this should solve it.



回答2:

Sometimes only deleting app/storage/meta/services.json and run composer update doesn't solve the ERROR: array_merge(): Argument #2 is not an array error. At least in my case, it didn't.

Most of the time it happens when you're screwing up the bootstrap/cache/services.json file. And running composer update will not generate services.json file.

To generate the services.json file, you need to delete the previous bootstrap/cache/services.json file and run php artisan serve. Then it'll generate a fresh services.json` file.

Hope it helps to someone!



回答3:

  1. delete bootstrap folder
  2. git reset --hard
  3. composer install
  4. done


回答4:

I had similar problem with a fresh install.

I solved it like this: Removed bootsrap/cache/**services.php** and then i surfed to the website with browser, it generated a new services.php and then it worked.



回答5:

I solved it:

open This folder-->/Applications/MAMP/htdocs/*****/vendor/laravel/framework/src/Illuminate/View/Factory.php

and comment this line

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

line number -> 136.



回答6:

Just a composer update worked for me.



回答7:

You probably just forgot to put compact('var') as the second return view argument

return view("path.to.view", compact ('var'))