php artisan migrate报错,chmod()不允许操作

在练习第一本书到第8章的时候遇到的问题,chmod()不允许操作。之前数据库没有数据的时候执行php artisan migrate没有报错,到这里后才开始报的,尝试了回滚和重置都会报相同的错误。

开发环境是win10,Laravel Sail,docker

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 9

你好,先切换到 root 账号

sudo su
php artisan migrate
2年前 评论

@MArtian 按照您的方法执行,会报错误下面的错误

file

2年前 评论

@allenli

could not find driver
  1. 检查你的 .env 文件 看看 Mysql 配置是否正确
  2. 你的镜像没有安装 Mysql 服务
2年前 评论

@MArtian

1、.env 文件的Mysql 配置如下,可以正常登录到数据库软件 file

2、我用的docker环境,没有单独安装过 Mysql 。没有切换到root账号的时候可以用命令进入数据库,切换到root账号就报连接不上数据库了。是需要在root账号下,再安装下mysql服务吗?

3、我尝试过把报错的 Filesystem.php 里207行的chmod方法注释掉,再执行数据库迁移的的时候就不会再报错误,也没影响后面的练习。去掉注释再迁移也不会报错,但时间长了后迁移又开始继续报错了,需要重新做注释处理。

file

2年前 评论

@allenli 噢,那不用重新安装 Mysql,直接切换到 root ,然后给你的项目执行权限就可以了

sudo su
chmod -R 777 your-project

然后 Ctrl + D ,再执行一次

php artisan migrate
2年前 评论

@MArtian 安装您说的授权成功后,再执行php artisan migrate,还是报相同的错误

file

2年前 评论
MArtian 2年前
MArtian 2年前

@MArtian 直接执行 php artisan migrat 或者 sudo php artisan migrate,都会报错。laravel sail环境下执行命令都是前面加sail,例如sail php artisan migrate

file

file

2年前 评论

@allenli

昨天我回家试了,用的 docker 环境,正常来说, root 账号给 项目文件夹 添加权限后,就可以正常执行 artisan 命令,我是这样做的

sudo su
chmod -R 777 my-project
CTRL+D
cd my-project
sail php artisan migrate

如果还是不好用的话

cd your-project
ls -l

查看你的项目文件权限,确认是否添加 777 权限。

2年前 评论

@allenli 我想起来了, docker 环境添加完 chmod -R 777 权限后如果没有生效,尝试执行

php artisan cache:clear
php artisan route:clear
php artisan config:clear

清一下缓存然后再执行

sail php artisan migrate

这次肯定没问题

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!