PHPによってロードされた拡張機能を確認するにはどうすればよいですか?


155

phpinfo()ダンプのどこかにあるはずですが、どこにあるのかわかりません。「追加モジュール」セクションの下にあるはずですか?何処か別の場所?一部の拡張機能が読み込まれていないように見える理由を理解しようとしていますが、どこを見ればよいのかもわかりません。

回答:



60

コマンドを実行します。インストールされた拡張機能を取得します。

php -r "print_r(get_loaded_extensions());"

または、このコマンドを実行して、すべてのモジュールをインストールし、バージョンでアンインストールします

dpkg -l | grep php5

37

get_loaded_extensions()PHP関数を使用する


7
これはコマンドラインphp -r 'print_r(get_loaded_extensions());'で機能し、同じリストを出力しますphp -m
phpguru

1
バージョン番号付きのモジュールをエクスポートするphp -r "phpinfo(INFO_MODULES);" | grep -B 3 -i version > modules.txt
コマンド

33

実行したい:

 php -m 

コマンドラインで、

または、サーバー構成ファイルにアクセスできる場合

/etc/php5/apache2/php.ini

すべての拡張機能を見て、

このようにオンとオフを切り替えることで、それらを有効または無効にすることもできます

<Extension_name> = <[On | Off]>

17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>

php -mからのリストは、curl、mbstringおよび他の多くをリストしないget_loaded_extensions()よりはるかに長いですか?何故ですか?curl、mbstringをインストールしましたが、phpスクリプトから表示されないようです。
Meryan

get_loaded_extensions()をアルファベット順に並べ替える方法は?他の動作しているphpのインストールと比較するには、ありがとうございます。
メリアン

6

get_loaded_extensions() 拡張子リストを出力します。

phpinfo(INFO_MODULES); 拡張機能とその詳細を出力します。


5

特定の拡張機能がロードされているかどうかをテストする場合は、extension_loaded関数を使用することもできます。こちらのドキュメントを参照してください

php -r "var_dump(extension_loaded('json'));"

1

特定の拡張機能を探していますか?あなたにはphpinfo();、ちょうどヒットCtrl+ FWebブラウザでは、あなたが探している拡張子の最初の3-4文字を入力、そして、それはそのロードされているか否かをお見せしなければなりません。

通常phpinfo()、ロードされたすべての拡張機能が1つの場所に表示されるわけではありません。ロードされた拡張ごとに個別のセクションがあり、変数、ファイルパスなどがすべて表示されるため、拡張名のセクションがない場合は、おそらくロードされていません。

または、php.iniファイルを開き、Ctrl+ Fメソッドを使用して拡張機能を見つけ、コメントアウトされているかどうかを確認します(通常、行の先頭近くのセミコロンによって)。


0

ロードされた拡張機能がphpinfo()の出力のどこにあるかを尋ねました。

回答:

これらは別々のセクション/テーブルなどの底部に向かって列挙されているとONLYそれらがロードされている場合。以下は、ロードされた拡張Curlの例です。

ここに画像の説明を入力してください ...

... ここに画像の説明を入力してください

私はそれをLinux Debianにインストールしました

sudo apt-get install php7.4-curl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.