可能是在虚拟环境不能获取文件信息,解决办法:
找到如下路径的文件
vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php
找到getConfigurationFiles函数并修改如下
protected function getConfigurationFiles(Application $app)
{
$files = [];
$configPath = realpath($app->configPath());
// foreach (Finder::create()->files()->name('*.php')->in($configPath) as $file) {
// $directory = $this->getNestedDirectory($file, $configPath);
//
// $files[$directory.basename($file->getRealPath(), '.php')] = $file->getRealPath();
// }
//原有获取配置的方法报错,改用自定义的获取配置方式--by fair
$files=$this->my_scandir($configPath);
ksort($files, SORT_NATURAL);
return $files;
}
//增加my_scandir方法
protected function my_scandir($dir){
$files = array();
if(is_dir($dir)){
if($handle =opendir($dir)){
while (($file = readdir($handle))!== false){
if($file != '.' && $file!='..'){
$_dir = $dir ."/".$file;
if(is_dir($_dir)){
$files[$file] = self::my_scandir($_dir);
}else{
//echo str_replace('.php','',$file) .'--'.$_dir.'<br>';
$files[str_replace('.php','',$file)] = $_dir;
}
}
}
closedir($handle);
return $files;
}
}
}