[英]Laravel array_merge(): Argument #2 is not an array In ServiceProvider.php
我不能再做 php artisan serve 了,它說:
在 ServiceProvider.php 第 59 行:
array_merge(): Argument #2 is not an array
第59行代碼在ServiceProvider.php中:
$this->app['config']->set($key, array_merge(require $path, $config));
我不明白我的 ServiceProvider.php 有什么問題,我沒有改變任何東西。
我希望有人能幫助我。
檢查config/
文件夾中的文件,其中一個沒有返回數組。
試試這個
這里使用了is_array
方法。
$this->app['config']->set($key, array_merge(require $path, is_array($config) ? $config : [$config]))
is_array($config) ? $config : [$config]
如果不想更改框架文件,請檢查配置文件夾中的
config
文件,其中一個文件返回單個值而不是數組(必須返回數組)
試試這個,
通過 Composer 對某些軟件包進行的任何新安裝都可能導致 vendor 下的文件發生沖突。
因此,通過“require”中的“composer.json”刪除最后安裝的包:{}並更新作曲家。
這對我有幫助。
這對我有用。 首先,編輯代碼 laravel/framework/src/Illuminate/Support/ServiceProvider.php
if (! ($this->app instanceof CachesConfiguration && $this->app->configurationIsCached())) {
$config = $this->app->make('config');
$configkey = $config->get($key, []);
$configkey = is_array($configkey) ? $configkey : [$configkey];
$config->set($key, array_merge(
require $path, $configkey
));
}
保存。 並運行作曲家安裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.