web-dev-qa-db-ja.com

インストールされているphp拡張機能を知る方法

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

13

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

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

また、_php -i_を使用して、この情報を含むコマンドラインからphpinfo();出力を取得することもできます。

参考文献

18
slm

拡張機能が実際に使用されている場合は、php.iniで参照する必要があります。拡張機能は非常に直感的な方法で読み込まれます。

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

などなど.

注意すべきことの1つは、追加のiniファイルが含まれていることによってもたらされる拡張機能です。 Debianについてはわかりませんが、RHELには/etc/php.d/ディレクトリがあり、.iniファイルはすべて、メインの/etc/php.iniにあるかのように扱われます

これらの2つの場所(メインphp.iniまたは含まれているファイルの1つ)のいずれにもない場合、その拡張子は、使用されていないファイルシステムに置かれているだけです。

編集:

実際、私は嘘をついたと思います。 dl()への呼び出しについては、phpファイルを確認してください 。しかし、そのような拡張機能をロードする多くの人を知りません。ユースケースがどうなるかさえわからないが、それはおそらくあなたがチェックすべきもう一つの領域です。

2
Bratchley

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

ここにインストールできるPHP Debianパッケージには2つのタイプがあります:

  • 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
2