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

Laravel 5.4报could not find driver,Angular请求失败但tinker正常

解决Laravel后端从Angular请求时报"could not find driver"的问题

这个问题的核心原因很明确:你的Web服务器使用的PHP环境和php artisan tinker(CLI PHP)的环境不是同一个,导致Web环境里没有加载数据库驱动。毕竟tinker能正常运行,说明CLI的PHP已经配置好驱动了,但Web端的PHP没跟上。下面是针对Arch Manjaro的具体解决步骤:

  • 第一步:确认CLI和Web的PHP版本是否一致
    先在终端里运行php -v,记下CLI的PHP版本(比如8.2.10)。然后在Laravel项目的public目录下新建一个phpinfo.php文件,内容如下:

    <?php phpinfo(); ?>
    

    访问这个文件的URL(比如http://your-domain/phpinfo.php),找到PHP版本,和CLI的版本对比。如果不一样,说明Web用的是另一个PHP版本,接下来要给这个版本安装驱动。

  • 第二步:给Web对应的PHP版本安装数据库驱动
    如果你用的是MySQL/MariaDB,在Arch Manjaro里,对应PHP版本的驱动包命名是php<version>-mysql。比如Web用的是PHP 8.2,就运行:

    sudo pacman -S php82-mysql
    

    安装完成后,记得重启PHP-FPM和Web服务器。

  • 第三步:确保Web的php.ini加载了驱动
    找到Web对应的php.ini路径(在phpinfo里可以看到"Loaded Configuration File"的路径),打开这个文件,搜索pdo_mysql,找到这一行:

    ;extension=pdo_mysql
    

    把前面的分号去掉,改成:

    extension=pdo_mysql
    

    如果你用的是mysqli驱动,同样找到extension=mysqli并去掉注释。保存文件后,重启服务。

  • 第四步:重启相关服务
    如果是Nginx+PHP-FPM,运行:

    sudo systemctl restart nginx php-fpm
    

    如果是Apache,运行:

    sudo systemctl restart httpd
    

做完这些步骤后,再从Angular发送请求试试,应该就能正常插入数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:13:03