インストールされている PHP 拡張機能を確認する方法

インストールされている PHP 拡張機能を確認する方法

古いサーバーにインストールされているものとまったく同じ PHP 拡張機能を LAMP サーバーにインストールする必要があります。新しいサーバーに同じものをインストールするために、どの拡張機能がインストールされているのかを正確に知るにはどうすればよいですか?

答え1

インストールされているモジュールを確認するに-mは、コマンド ライン スイッチを使用できます。php

$ 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

これら 2 つの場所 (メインまたはインクルード ファイルのいずれか) のいずれにも存在しない場合php.ini、拡張機能は使用されず、ファイル システム上にそのまま存在することになります。

編集:

実は私は嘘をついたと思う。PHPファイルでdl()の呼び出しを確認してくださいただし、そのような拡張機能をロードする人はあまりいないと思います。ユースケースが何であるかさえわかりませんが、おそらく確認する必要がある別の領域です。

答え3

Debianでは、PHP拡張機能は、以下のファイルを介してロードされます。php5.conf は、

ここでインストールされる可能性のある PHP Debian パッケージには 2 種類あります。

  • Debian PHP パッケージ (名前が php5- で始まるもの)
  • PECL PHP パッケージ (名前が php- で始まるもの)

システム上の両方を一覧表示するには、次のコマンドを使用します。 dpkg -l | grep 'ii php5\?-' php- または php5- で始まるインストール済みパッケージを一覧表示します。

ソース コードから PECL を使用して構築された拡張機能がある場合もあります。それらの拡張機能を次のようにリストします。 pecl リスト

最後に、独自の拡張機能を昔ながらの方法でコンパイルすることも可能です。その場合、php5.conf は、ただし、php.ini 自体に追加される可能性があります。

すべての拡張機能には通常、出力セクションがあります。phpinfo();php -mPHPがロードした拡張機能のリストが表示されます(それぞれphpinfoの出力に表示されるはずです)。php -mPHP には、後からインストールできる拡張機能だけでなく、デフォルトで組み込まれている拡張機能も多数あるため、Debian ではアドオン パッケージとしてインストールされるものよりも多くの出力が提供されます。

以下は、追加でインストールされた 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

関連情報