You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 17.10下执行php artisan migrate报错求助

解决Ubuntu 17.10下php artisan migrate报错的问题

先拆解你的报错信息,核心有两个问题:PHP加载php_curl.dll失败,以及数据库驱动缺失。咱们一步步来解决:

1. 修复PHP curl扩展的警告

你在Linux系统里用了.dll后缀的扩展文件——这是Windows系统的格式!Ubuntu下的PHP扩展都是.so后缀,这个警告完全是配置错误导致的。

解决方法:

  • 如果你用的是系统自带的PHP 7.1,直接安装系统的curl扩展包即可,它会自动帮你配置好php.ini:
    sudo apt-get update
    sudo apt-get install php7.1-curl
    
  • 要是你想手动修改php.ini(不推荐),找到/etc/php/7.1/cli/php.ini里的extension=php_curl.dll行,改成extension=curl.so,保存后退出。

2. 解决数据库驱动缺失的问题

报错could not find driver是因为你的CLI版本PHP没有安装MySQL驱动(Laravel默认用PDO连接MySQL,必须要有对应的扩展支持)。

解决方法:

安装PHP7.1的MySQL扩展包:

sudo apt-get install php7.1-mysql

安装完成后,执行php -m命令,查看输出里有没有pdo_mysql和mysqli——如果有,说明驱动已经安装成功。

3. 注意:区分系统PHP和XAMPP的PHP

你同时安装了系统PHP和XAMPP的PHP,这是两个独立的环境:

  • 如果你用系统PHP执行php artisan migrate,上面的步骤已经覆盖了;
  • 要是想改用XAMPP的PHP运行artisan,需要用绝对路径执行:
    /opt/lampp/bin/php artisan migrate
    
    这时候要确保XAMPP的php.ini(路径/opt/lampp/etc/php.ini)里已经开启了pdo_mysql和curl扩展:找到extension=pdo_mysql.so和extension=curl.so两行,确保前面没有注释符号;。

4. 验证数据库配置

最后检查Laravel项目根目录下的.env文件,确认数据库配置和实际情况一致:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=haabit  # 要和报错里的table_schema一致
DB_USERNAME=root    # 你的MySQL用户名
DB_PASSWORD=xxx     # 你修改后的phpmyadmin密码(即MySQL root密码)

做完这些步骤后,再执行php artisan migrate应该就能正常运行了。

内容的提问来源于stack exchange,提问作者Adrian Rosario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:05:56