首页 > 解决方案 > PHP模块和PHP扩展有什么区别?

问题描述

  1. 我正在研究 laravel 。当我尝试迁移时。它说driver not found。然后我通过这个命令安装了一个模块sudo apt install php7.2-mysql。通过运行,php -m我发现了一个名为pdo_mysql. 我的问题是我已经安装了一个应用程序,但它是如何成为一个 php 模块的?

  2. 我没有取消任何pdo_mysql来自 php.ini. 所以我想我没有使用'pdo_mysql'扩展,而是使用了pdo_mysql模块。我对么?

  3. 如果我想通过添加扩展来完成工作。可能吗?它们之间有什么区别?

标签: phpapache

解决方案


PHP 模块是主要用 C 语言编写的扩展。它们可以用 PHP 编译以启用静态加载(作为二进制文件的一部分)或动态加载(使用 php.ini 指令extension=modulename.so:)

有不同类型的模块——核心扩展、仍然是 PHP 包一部分的捆绑扩展和完全外部扩展。最后一个不是 PHP 核心的一部分,也不包含在包中。

有一个 PHP 扩展存储库,称为 PECL(PHP 扩展社区库)。存在其他 PHP 扩展,因为它们与 PECL 不同,但 PECL 是最流行和广泛使用的 PHP 扩展的官方存储库。


推荐阅读