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

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

我需要在 lamp 服务器上安装与旧服务器上安装的完全相同的 php 扩展,如何准确知道安装了哪些扩展以便在新服务器上安装相同的扩展?

答案1

您可以使用命令行开关-mphp查看安装了哪些模块。

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

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

参考

答案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() 的调用。不过,我不知道有多少人会加载这样的扩展。甚至不确定用例是什么,但这是您可能应该检查的另一个领域。

答案3

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

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

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

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

您还可能拥有使用 PECL 从源代码构建的扩展。列出那些具有: 佩克清单

最后,可以用老式的方式编译您自己的扩展。在这种情况下,他们可能没有文件/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

相关内容