古いサーバーにインストールされているのとまったく同じphp拡張機能をランプサーバーにインストールする必要があります。新しいサーバーに同じ拡張機能をインストールするには、どの拡張機能がインストールされているかを正確に知るにはどうすればよいですか?
コマンドラインスイッチ_-m
_からphp
を使用して、インストールされているモジュールを確認できます。
_$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
_
また、_php -i
_を使用して、この情報を含むコマンドラインからphpinfo();
出力を取得することもできます。
拡張機能が実際に使用されている場合は、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ファイルを確認してください 。しかし、そのような拡張機能をロードする多くの人を知りません。ユースケースがどうなるかさえわからないが、それはおそらくあなたがチェックすべきもう一つの領域です。
Debianでは、PHP拡張機能は/ etc/php5/conf.dのファイルを介してロードされます)
ここにインストールできるPHP Debianパッケージには2つのタイプがあります:
システムで両方を一覧表示するには、次のコマンドを使用できます: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