如何知道安裝了哪些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

相關內容