以前のサーバーにインストールされているランプサーバーにまったく同じPHP拡張をインストールする必要があります。新しいサーバーに同じ拡張機能をインストールできるように、どの拡張機能がインストールされているかを正確に知る方法は何ですか。
答え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
1つの注目すべき点は、含まれている追加ファイルによって導入された拡張です。 Debianについてはよくわかりませんが、RHELには/etc/php.d/
すべての.ini
ファイルがホームディレクトリにあるかのように処理されるディレクトリがあります。/etc/php.ini
2つの場所のうちの1つ(デフォルトファイルまたは含まれているファイルのいずれか)にない場合、php.ini
拡張機能は未使用のファイルシステムにあります。
編集する:
実は私が嘘をついたと思います。する必要があるかもしれませんPHPファイルにdl()への呼び出しがあることを確認してください。。ところで、このような拡張機能をロードする人が何人になるのか気になります。ユースケースが何であるかはわかりませんが、これはおそらく確認する必要があるもう1つの分野です。
答え3
Debian では、PHP 拡張は次のファイルからロードされます。/etc/php5/conf.d
ここにインストールできるPHP Debianパッケージには2種類あります。
- Debian PHPパッケージ(php5-で始まる名前)
- PECL PHPパッケージ(名前はphp-で始まります)
システムに両方をリストするには、次のコマンドを使用できます。 dpkg -l | dpkg -l | grep 'ii php5\?-' php-またはphp5-で始まるインストール済みパッケージが一覧表示されます。
PECLを使用してソースから拡張を構築することもできます。以下をリストします。 つるはし一覧
最後に、独自の拡張機能を既存の方法でコンパイルできます。この場合、ファイルが存在しない可能性があります。/etc/php5/conf.dただし、php.ini自体に追加することもできます。
すべての拡張には通常、出力セクションがあります。PHP情報();。 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