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

Ubuntu/Debian服务器Laravel队列报PDOException找不到驱动问题求助

解决Laravel定时队列任务PDO驱动缺失问题

核心原因

Laravel的定时队列任务通过**PHP CLI(命令行接口)**执行,你之前验证的是Web环境的PHP配置,两者使用的php.ini文件大概率不同,导致CLI环境下未启用PDO MySQL驱动。

排查与修复步骤

  • 确认CLI版本的PHP是否安装PDO MySQL驱动
    执行命令查看CLI环境的PHP扩展状态:

    php8.1 -m | grep pdo
    

    如果输出里没有pdo_mysql,说明CLI版本的驱动未安装。

  • 安装CLI环境的PDO MySQL驱动
    在Debian/Ubuntu上执行:

    sudo apt update
    sudo apt install php8.1-mysql
    

    这个包同时覆盖Web和CLI环境的PDO驱动需求。

  • 验证CLI环境的php.ini配置
    先查看CLI模式加载的php.ini路径:

    php8.1 --ini
    

    找到Loaded Configuration File对应的路径,打开该文件确认extension=pdo_mysql行未被注释(去掉行首的;符号)。

  • 重启相关服务
    如果用Supervisor管理队列进程,执行:

    sudo supervisorctl restart all
    

    若直接使用queue:work命令运行队列,重启该进程即可。

  • 测试定时任务
    手动触发测试或执行:

    php artisan schedule:run
    

    检查是否还出现PDO驱动错误。

额外注意事项

  • Web和CLI的PHP配置文件通常位于不同目录,比如Web环境的在/etc/php/8.1/apache2,CLI环境的在/etc/php/8.1/cli,不要混淆。
  • 安装扩展后无需重启服务器,只需重启Web服务或队列进程即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:15:31