
古いサーバーにインストールされているものとまったく同じ 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