php - PHP模块和PHP扩展有什么区别?
问题描述
我正在研究 laravel 。当我尝试迁移时。它说
driver not found
。然后我通过这个命令安装了一个模块sudo apt install php7.2-mysql
。通过运行,php -m
我发现了一个名为pdo_mysql
. 我的问题是我已经安装了一个应用程序,但它是如何成为一个 php 模块的?我没有取消任何
pdo_mysql
来自php.ini
. 所以我想我没有使用'pdo_mysql'扩展,而是使用了pdo_mysql
模块。我对么?如果我想通过添加扩展来完成工作。可能吗?它们之间有什么区别?
解决方案
PHP 模块是主要用 C 语言编写的扩展。它们可以用 PHP 编译以启用静态加载(作为二进制文件的一部分)或动态加载(使用 php.ini 指令extension=modulename.so
:)
有不同类型的模块——核心扩展、仍然是 PHP 包一部分的捆绑扩展和完全外部扩展。最后一个不是 PHP 核心的一部分,也不包含在包中。
有一个 PHP 扩展存储库,称为 PECL(PHP 扩展社区库)。存在其他 PHP 扩展,因为它们与 PECL 不同,但 PECL 是最流行和广泛使用的 PHP 扩展的官方存储库。
推荐阅读
- reactjs - 选择不在条件渲染中工作
- c - 指向整数数组的 C 指针
- json - 如何在一个批次中发送多个 post 请求?
- python - 从 windows 和 linux 的子文件夹导入函数
- javascript - 执行上下文:为什么这个 javascript 代码会有这样的行为?
- php - 无法使用 curl 命令在 php 中解码 json 数据
- sql - 如何替换sql中的约束?
- java - 使用 Jetty 9.4.19 v20190610 设置 Vaadin 10+
- r - 如何在 Rstudio 中读取多个 .txt 文件并制作数据框?
- ios - 全新安装后领域触发迁移异常