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

Angular-Laravel应用执行php artisan migrate遇启动警告及数据库错误求助

解决Angular-Laravel应用中php artisan migrate的两类问题

别担心,咱们先理清楚:你遇到的PHP启动警告和数据库连接错误是完全独立的问题,我会一步步帮你搞定。

一、解决PHP启动警告(无关数据库,但影响日志整洁)

这些警告是因为你启用了完全不需要的PHP扩展,而你的环境里根本没有安装它们:

  • 你用的是MySQL,interbase、oci8_12c、pdo_firebird、pdo_oci这些都是针对Firebird、Oracle等其他数据库的扩展,对你的项目毫无用处。
  • 解决步骤:
    1. 找到你的php.ini配置文件(可以通过执行php --ini命令找到具体路径)
    2. 找到以下几行,重新在开头加上分号;注释掉:
      ;extension=interbase
      ;extension=oci8_12c
      ;extension=pdo_firebird
      ;extension=pdo_oci
      
    3. 重启你的PHP服务(比如Apache、Nginx+PHP-FPM或者本地开发服务器),这些启动警告就会彻底消失。

二、解决MySQL数据库连接错误(migrate失败的核心原因)

这个错误才是导致迁移命令失败的关键,是MySQL 8.0的默认认证方式和PHP PDO兼容性问题导致的:

  • 原因:MySQL 8.0默认使用caching_sha2_password认证机制,但旧版本的PHP PDO不支持这种方式,所以数据库连接被拒绝。
  • 解决步骤:
    1. 打开MySQL Workbench,连接到你的数据库服务器
    2. 执行以下SQL语句(记得替换成你Laravel配置里的数据库用户名和密码):
      ALTER USER 'your_db_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_db_password';
      FLUSH PRIVILEGES;
      
      举个例子,如果你的用户名是root,密码是123456,就改成:
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
      FLUSH PRIVILEGES;
      
    3. 检查Laravel项目根目录的.env文件,确保数据库配置信息准确无误:
      DB_CONNECTION=mysql
      DB_HOST=127.0.0.1
      DB_PORT=3306
      DB_DATABASE=daw
      DB_USERNAME=your_db_username
      DB_PASSWORD=your_db_password
      
    4. 最后重新执行迁移命令:
      php artisan migrate
      
      这下应该就能正常执行数据库迁移了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 23:37:49