关于 Laravel-Modules的问题,在本地使用时正常。服务器部署时报错,找不到模块
php版本:7.3.12
PHP 7.3.12 (cli) (built: Dec 4 2019 20:15:39) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.12, Copyright (c) 1998-2018 Zend Technologies
laravel版本:5.8
执行composer dump-autoload
# composer dump-autoload
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Generating optimized autoload files> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
In helpers.php line 8:
Call to a member function getPath() on null
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
打印源码后发现在modules中没用传入的modules, $name 为User 打印app('modules')发现是有User这个模块的
if (! function_exists('module_path')) {
function module_path($name, $path = '')
{
$module = app('modules')->find($name);
dd($module);
return $module->getPath() . ($path ? DIRECTORY_SEPARATOR . $path : $path);
}
}
4 Comments
linux 下面 / 和 \ 是不一样的
App/Modules
不等于App\Modules
modules中没用传入的modules
是啥正确的输出日志
看一下你的composer.json 文件,是不是用了反斜杠,记住一点,composer.json里面表示路径只能用/,表示
命名空间用\\