如何知道安装了哪些PHP扩展


Answers:


18

您可以使用命令行开关-mphp看看模块安装什么。

$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...

您还可以使用通过命令行php -i获取phpinfo();输出,其中也将包含此信息。

参考文献


5
应该注意的是,这可能与Apache中运行的PHP所包含的模块集合不同。
Rich Remer 2014年

2

如果实际使用该扩展名,则需要在php.ini某处引用该扩展名。扩展以非常直观的方式加载:

extension=msql.so
extension=/path/to/extension/msql.so

等等等

要注意的一件事是扩展ini包含的附加文件。我不确定Debian,但是在RHEL上有一个/etc/php.d/目录,所有.ini文件都像在主目录中一样/etc/php.ini

如果它不在这两个位置之一(主要php.ini文件或其中一个文件)中,则扩展名或多或少只是位于未使用的文件系统上。

编辑:

实际上,我认为我撒了谎。您可能需要查看php文件中对dl()的调用。不过,我不知道有很多人会加载类似的扩展程序。甚至不确定用例是什么,但这是您可能应该检查的另一个领域。


自从我构建PHP已经有一段时间了,但是我认为您也可以选择以静态方式编译扩展,这时这些选项都无济于事。
Jules 2014年

2

在Debian中,PHP扩展是通过/etc/php5/conf.d中的文件加载的

这里可能安装了两种类型的PHP Debian软件包:

  • Debian PHP软件包(名称以php5-开头)
  • PECL PHP软件包(名称以php-开头)

要在系统上同时列出这两个列表,可以使用以下命令: dpkg -l | grep'ii php5 \?-' 列出了已安装的以php-或php5-开头的软件包。

您可能还具有使用PECL从源代码构建的扩展。列出那些人: pecl list

最后,可以用老式的方式编译自己的扩展。在这种情况下,它们可能在/etc/php5/conf.d中没有文件,但可能会添加到php.ini本身中。

所有扩展通常都有一部分来自phpinfo();php -m将显示PHP加载了哪些扩展的列表(每个扩展在phpinfo输出中应有一个位置)。在php -m输出中列出的扩展要比在Debian中作为附加软件包安装的扩展多,因为PHP内置了许多默认扩展以及以后可以安装的扩展。

这是开发机器的示例输出,其中列出了额外安装的PHP扩展:

root@zaphod:~# dpkg -l | grep 'ii  php5\?-'
ii  php-auth-sasl                         1.0.4-1                            all          Abstraction of various SASL mechanism responses
ii  php-db                                1.7.14-2                           all          PHP PEAR Database Abstraction Layer
ii  php-mail                              1.2.0-4                            all          PHP PEAR module for sending email
ii  php-mail-mime                         1.8.4-1                            all          PHP PEAR module for creating MIME messages
ii  php-mail-mimedecode                   1.5.5-1                            all          PHP PEAR module to decode MIME messages
ii  php-net-smtp                          1.6.1-1                            all          PHP PEAR module implementing SMTP protocol
ii  php-net-socket                        1.0.9-2                            all          PHP PEAR Network Socket Interface module
ii  php-pear                              5.4.39-0+deb7u2                    all          PEAR - PHP Extension and Application Repository
ii  php-xml-parser                        1.3.4-6                            all          PHP PEAR module for parsing XML
ii  php5-cgi                              5.4.39-0+deb7u2                    amd64        server-side, HTML-embedded scripting language (CGI binary)
ii  php5-cli                              5.4.39-0+deb7u2                    amd64        command-line interpreter for the php5 scripting language
ii  php5-common                           5.4.39-0+deb7u2                    amd64        Common files for packages built from the php5 source
ii  php5-curl                             5.4.39-0+deb7u2                    amd64        CURL module for php5
ii  php5-dev                              5.4.39-0+deb7u2                    amd64        Files for PHP5 module development
ii  php5-gd                               5.4.39-0+deb7u2                    amd64        GD module for php5
ii  php5-imagick                          3.1.0~rc1-1+b2                     amd64        ImageMagick module for php5
ii  php5-imap                             5.4.39-0+deb7u2                    amd64        IMAP module for php5
ii  php5-intl                             5.4.39-0+deb7u2                    amd64        internationalisation module for php5
ii  php5-mcrypt                           5.4.39-0+deb7u2                    amd64        MCrypt module for php5
ii  php5-mysql                            5.4.39-0+deb7u2                    amd64        MySQL module for php5
ii  php5-pgsql                            5.4.39-0+deb7u2                    amd64        PostgreSQL module for php5
ii  php5-sqlite                           5.4.39-0+deb7u2                    amd64        SQLite module for php5
ii  php5-suhosin-extension                0.9.37-2                           amd64        advanced protection system for PHP5
ii  php5-sybase                           5.4.39-0+deb7u2                    amd64        Sybase / MS SQL Server module for php5
ii  php5-xdebug                           2.2.1-2                            amd64        Xdebug Module for PHP 5
root@zaphod:~# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package  Version State
APC      3.1.13  beta
memcache 3.0.8   beta
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.