You need to enable JavaScript to run this app. Ubuntu20.04下Laravel8执行migrate提示无法加载pdo_mysql.so如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04下Laravel8执行migrate提示无法加载pdo_mysql.so如何解决

解决方案
  1. 修复扩展依赖与加载顺序错误
    你遇到的undefined symbol: mysqlnd_allocator报错核心原因是pdo_mysql扩展依赖的mysqlnd扩展未先加载,或未正确安装,按以下步骤处理:
  • 先还原你之前手动修改的php.ini配置:将/etc/php/7.4/apache2/php.ini和/etc/php/7.4/cli/php.ini中取消注释的extension=pdo_mysql行重新注释,避免配置重复冲突。
  • 完全卸载原有mysql相关扩展,避免残留文件冲突:
    sudo apt purge php7.4-mysql php7.4-mysqlnd -y
    
  • 重新安装对应版本扩展:
    sudo apt install php7.4-mysql php7.4-mysqlnd -y
    
  1. 用系统自带命令启用扩展,自动处理加载优先级
    Ubuntu默认通过mods-available目录下的配置文件管理扩展加载顺序,不要手动修改php.ini加载扩展,执行以下命令:
sudo phpenmod mysqlnd pdo_mysql

执行完成后重启web服务:

sudo systemctl restart apache2
  1. 验证扩展加载状态
    执行以下命令检查扩展是否正常加载:
php -m | grep mysql

正常输出应包含mysqlnd、pdo_mysql两项。
4. 验证Laravel迁移
清理Laravel配置缓存后重新执行迁移:

php artisan config:clear
php artisan migrate

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 19:15:08