docker could not find driver

news2024/11/29 0:42:52

先介绍环境

  1. 使用的是docker
  2. docker-compose部署了nginx+php+mysql+redis
  3. 框架用的是laravel

再详细介绍每个服务/框架的版本:

  • nginx1.24
  • php8.1-fpm
  • mysql8.0.25
  • redis7.0.8
  • laravel9.33.0

本篇可不用理会 redis 

主要是讲解 php 为什么会出现 "could not find driver",就是和 mysql 互动

开始前,我们先测试服务是否正常:

使用 Navicat Premium 连接 mysql 

成功! 

浏览器访问,输出我们的 phpinfo 信息

成功!

好的,各项服务都跑起来了。

开始!

我们在项目中,既然是选择了 mysql,那一定会用到 php 和 mysql 互动,去增删查改的。

我们直接使用 laravel 的方法查询数据:

DB::table(self::table())
    ->select($column)
    ->where($where)
    ->first()

以上是我自己使用时封装的方法,可以不用纠结它,主要的就是执行一条sql语句,可以翻译一下:

select * from `user` where phone = "13800000000" limit 1

当我们执行一条sql语句时,程序也是给我们抛出了一条错误信息:

could not find driver (SQL: select * from `user` where phone = "13800000000" limit 1)

其中我们就能看到 "could not find driver" 

翻译成中文,意思就是:"找不到驱动程序"

这也就是我们本篇需要讲解的

我们前往 php.ini 配置,找到 pdo_mysql

默认是关闭的(修改前)
;extension=pdo_mysql

删除前面的分号将其打开(修改后)
extension=pdo_mysql

这样我们就打开了 pdo_mysql 扩展

但是会发现,依旧会提示 "could not find driver" 

原因是 php容器里,没有这个扩展包

所以我们需要进行下载安装

进入php容器,运行下面命令,最后重启容器

docker-php-ext-install mysqli pdo pdo_mysql

重启容器后,我们再回到 浏览器中,查看 phpinfo

搜索 pdo,看到这一栏里,会多出一个 "mysql"

最后我们再跑一下,php 执行sql语句,就不会出现 "could not find driver" 

如果出现了 "Connection refused"

可参考这篇文章解决:

docker Connection refused_龙枫995的博客-CSDN博客icon-default.png?t=N3I4https://blog.csdn.net/longfeng995/article/details/130705833?spm=1001.2014.3001.5501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Datacom-HCIE 01(10月26日更新)--含解析

单选题 1.[试题编号:189684] (单选题)防火墙双机热备场景下,主备设备之间通过哪种协议实现会话表备份? 2.[试题编号:189682] (单选题)中间人攻击或IP/MAC Sp fing攻击都会导致信息…

Docker笔记6 | 关于仓库的一些基本知识梳理

6 | 关于仓库的一些基本知识梳理 1 Docker Hub1.1 简介和登陆1.2 拉取镜像1.3 推送镜像1.4 自动构建 2 私有仓库2.1 简介2.2 安装docker-registry2.3 上传镜像2.4 查看镜像2.5 下载镜像 1 Docker Hub 1.1 简介和登陆 Docker Hub是Docker官方维护的一个公共仓库;注…

使用intellij Idea 创建spring boot项目

1、问题:使用Spring Initializr创建的工程,没有src目录,原因是创建的时候,默认选择的地址是https://start.spring.io 由于默认的spring官网的地址在国内比较难访问,当访问不了的时候可以使用阿里云的地址:…

银行零售业务转型方法论:打造数字化的“有机体”

传统的业务增长进度叫做连续性创新,它是在一条曲线上渐进性的改良和发展,但这种发展终有极限,如果不能及时开辟第二增长曲线,就很容易被时代所抛弃。过去十年,以互联网为代表的数字化转型的先行者,不断冲击…

网页三剑客之 CSS

css 在这里不会介绍太多,我们主要重点介绍两个:选择器和盒子模型就够用了。这里看个乐就好了,没有那么多重点,只是简单的认识一下下CSS。 CSS 是什么 CSS 是层叠样式表 (Cascading Style Sheets)的缩写它存在的意义就是&#xf…

MTSC2023中国互联网测试开发大会将于7月15日在上海举办

一年一度的行业盛会,MTSC2023 中国互联网测试开发大会,将从上海开始。 在为期1天的时间里,主办方将邀请一线技术专家、资深行业大咖与大家齐聚一堂,针对当前热门行业话题以及最新的落地实践,进入深入探讨与分享&#…

《CSS揭秘》笔记

前言 《CSS揭秘》,由Lea Verou编著,由CSS魔法翻译,本篇主要记录阅读《CSS揭秘》过程中的一些要点及收获 第二章 背景与边框 box-shadow与outline box-shadow 利用box-shadow可以绘制多重边框,设置其前三个变量均为0&#xff…

在 Python 中如何使用位运算符来进行布尔运算?

Python 中常见的运算符有&#xff1a; &#xff08;1&#xff09;算术运算符&#xff1a;加号 、减号 - 、乘号 * 、除号 / 、取余数 % 、幂运算 ** 、整除 // 。 &#xff08;2&#xff09;比较运算符&#xff1a;等于 、不等于 ! 、大于 > 、小于 < 、大于等于 >…

【Processing】创意编程零基础学习笔记

博客简介 最近出于兴趣爱好&#xff0c;在学习Processing创意编程。此篇博客用来记录我学习Processing创意编程的基础知识&#xff0c;在我学习Processing的过程中&#xff0c;我会持续修改、更新这篇博客。运用Processing写的一些有趣的小项目&#xff0c;会更新在Procesing专…

Speech and Language Processing之RNN

循环神经网络(RNN)是在其网络连接中包含循环的任何网络。也就是说&#xff0c;任何一个单元的值直接或间接依赖于作为输入的早期输出的网络。虽然这种网络很强大&#xff0c;但很难进行推理和训练。然而&#xff0c;在一般的循环网络中&#xff0c;有一些被证明在应用于口语和书…

深入浅析Linux物理内存外碎片化

本文出现的内核代码来自Linux4.19&#xff0c;如果有兴趣&#xff0c;读者可以配合代码阅读本文。 一、Linux物理内存外碎片化概述 什么是Linux物理内存碎片化&#xff1f;Linux物理内存碎片化包括两种&#xff1a; 1.物理内存内碎片&#xff1a;指分配给用户的内存空间中未…

【Linux命令】fdisk 相关分区命令

fdisk 命令既可以对Ubuntu上已有磁盘进行分区&#xff0c;也可以对SD卡进行分区。假设我们要对最新检测到的 /dev/sdb 设备进行分区。 sudo fdisk /dev/sdb 目录 1、 查看分区情况 —— p 2、删除分区 —— d 3、新增分区 —— n 4、修改分区类型 —— t 5、保存之前所有…

DI依赖注入(setter注入、构造器注入、自动装配、集合注入)

文章目录 1 setter注入1.1 环境准备1.2 注入引用数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 1.3 注入简单数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 2 构造器注入2.1 环境准备2.2 构造器注入…

统计学02: 二项分布

<~生~信~交~流~与~合~作~请~关~注~公~众~号生信探索> n 次伯努力事件(发生和不发生概率和为1) 发生r次的概率 期望&#xff1a; &#xff0c;方差&#xff1a; using DistributionsdBinomial(4, 0.35);mean(d) 4*0.35var(d) 4*0.35(1-0.35) Example We asked various p…

用Jenkins搭建自动构建服务

Jenkins是BS跨平台构建工具&#xff0c;之前名为Hundson。wiki 【chs en】 最新windows安装包&#xff1a;下载 下文以1.593版本为例&#xff0c;讲述Jenkins的Windows版本的一些要注意的地方 安装 安装路径中不要出现中文或者空格 用户数据相关的目录结构 ├─Jenkins …

精选 100 种最佳 AI 工具大盘点

为了应对对精简流程和数据分析日益增长的需求&#xff0c;整合人工智能工具在多个领域变得至关重要。 本文精选了2023年可用的100种最佳人工智能工具&#xff0c;旨在提高您的生产力、创造力和效率。 以下是 2023 年排名前 100 的人工智能工具&#xff1a; Aidoc&#xff1a;A…

音频格式m4a怎么转换成mp3,高效工具分享

音频格式m4a怎么转换成mp3&#xff1f;因为当我们下载或是保存的音频格式为m4a时&#xff0c;当我们需要在汽车或是其他平台播放时&#xff0c;就要将音频格式m4a转换成mp3。这样做可以提高音频文件的兼容性、便携性和可用性&#xff0c;并且可以减小文件大小以便于共享和传输。…

Android第一代加壳的验证和测试

Android第一代加壳测试&#xff0c;网上有很多文章&#xff0c;本文只是在前人基础上测试和验证。因此&#xff0c;本文的重点在于动手和实践。 第一代加壳技术有三个项目&#xff0c;分别是&#xff1a; 加壳程序。主要是把需要加壳的原程序加密后&#xff0c;放在壳程序中&…

第12章:视图

一、视图 1.常见的数据库对象 ①表table&#xff1a;表是存储数据的逻辑单元&#xff0c;行和列形式存在。列是字段&#xff0c;行是记录。 ②数据字典&#xff1a;系统表&#xff0c;存放数据库相关信息的表。系统表的数据通常是数据库系统维护。 ③约束constraint&#x…

怎样自己开发制作微信小程序?费用多少?

随着移动互联网的深入发展&#xff0c;各行各业都在寻求转型&#xff0c;希望通过线上软件系统来助力传统企业更好的发展&#xff0c;于是各种APP、小程序软件系统层出不穷。微信小程序是诸多软件中最流行的一种&#xff0c;凭借强大的流量基础、随用随走的便捷性和简单易操作的…