Laravel 5.3执行php artisan migrate命令报could not find driver错误求助
解决Laravel 5.3 + MAMP下
php artisan migrate找不到MySQL驱动的问题 这个问题我之前也碰到过,核心原因大多是你的终端用的PHP版本不是MAMP自带的那个,或者MAMP的PHP没启用PDO MySQL扩展。下面一步步来解决:
第一步:确认终端使用的是MAMP的PHP版本
系统默认的PHP可能没有安装MySQL驱动,先检查当前终端的PHP版本:
php -v
如果输出的不是7.4.1,说明你用的是系统自带的PHP,不是MAMP的。这时候可以用两种方式处理:
临时方案(单次生效)
直接用MAMP PHP的绝对路径执行迁移命令:
/Applications/MAMP/bin/php/php7.4.1/bin/php artisan migrate
永久方案(终端每次启动都生效)
修改你的Shell配置文件(比如~/.bash_profile、~/.zshrc,取决于你用的Shell),把MAMP的PHP路径加到PATH最前面:
export PATH="/Applications/MAMP/bin/php/php7.4.1/bin:$PATH"
保存后执行source ~/.zshrc(对应你的配置文件),再运行php -v确认版本已经变成7.4.1。
第二步:检查MAMP的PHP是否启用了PDO MySQL扩展
- 找到MAMP中PHP7.4.1的配置文件,路径一般是:
/Applications/MAMP/bin/php/php7.4.1/conf/php.ini
- 打开这个文件,搜索
pdo_mysql,确保这一行没有被注释(前面没有分号;):
extension=pdo_mysql
(注:MAMP的PHP配置里,部分版本可能是extension=pdo_mysql.so,只要去掉前面的分号就行)
- 重启MAMP的Apache和MySQL服务,让配置生效。
第三步:验证扩展是否加载成功
在终端运行:
php -m
查看输出列表里有没有pdo_mysql,如果有,说明扩展已经正确加载,再重新执行迁移命令:
php artisan migrate
额外注意点
你的.env配置看起来是没问题的(DB_CONNECTION=mysql、默认的用户名密码和端口),不用修改这个。另外Laravel 5.3支持PHP7.4,版本兼容上没有问题。
内容的提问来源于stack exchange,提问作者upul
相关产品推荐
相关产品推荐

