PHP模块和PHP扩展之间有什么区别?

时间:2019-04-22 08:54:47

标签: php apache

  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. 如果我想通过添加扩展名来完成这项工作。可能吗?它们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

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

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

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