Laravel app目录返回权限被拒 加载自定义路由后无法新建文件如何解决
权限报错解决
你执行的chmod -R 0755 app只修改了文件读写执行权限,没有修正文件所属用户组,这是创建文件报错的核心原因,按以下步骤操作即可:
- 先确认Web服务运行的用户和用户组,常见为
www-data、nginx、apache,本地开发环境一般为你当前登录的系统用户,可通过ps aux | grep nginx或ps aux | grep apache查看运行用户 - 递归修改项目根目录的所有者,替换命令中的
<user>、<group>为你实际的运行用户/用户组,替换路径为你项目的实际根目录路径:
chown -R <user>:<group> /path/to/laravel/project
- Laravel的
storage和bootstrap/cache目录需要额外开放写权限,进入项目根目录执行:
chmod -R 775 storage/ bootstrap/cache/
自定义路由加载修正
你当前注释的路由加载代码指向的是路由目录,loadRoutesFrom方法需要指定到具体路由文件,修改boot方法代码如下:
public function boot() { $this->loadRoutesFrom(__DIR__.'/../routes/web.php'); }
如果需要加载routes目录下所有路由文件,可遍历加载:
public function boot() { $routeDir = __DIR__.'/../routes/'; foreach (glob($routeDir.'*.php') as $routeFile) { $this->loadRoutesFrom($routeFile); } }
内容的提问来源于stack exchange,提问作者Patrick Obafemi
相关产品推荐
相关产品推荐

