25

PHP マニュアルをチェックして、さまざまな種類の PHP 拡張機能 (PHP モジュール) を理解していました。Zend モジュール (主に PHP 専門家向け)、組み込みモジュール、および外部モジュールがあります。

PHPモジュールが動的にロードされているか、PHPバイナリに組み込まれているかをコマンドラインから確認する方法はありますか?

つまりphp -m、ロードされたすべてのモジュールを取得しますが、組み込みモジュールと外部モジュールを知りたいのです。

4

3 に答える 3

72

コマンド ラインで次のコマンドを実行するだけです。

php -m

または詳細については、次を参照してください。

php -i

お役に立てれば。

于 2015-04-02T12:26:26.827 に答える
2

これが通常の PHP コードから可能かどうかはわかりません。独自の拡張機能から作成できる内部 Zend 呼び出しがいくつかあるかもしれません。ただし、ロードされた拡張機能に利用可能な動的ライブラリがあるかどうかを確認するという、生意気な推測方法があるかもしれません...

$extdir=ini_get('extension_dir');

$modules=get_loaded_extensions();
foreach($modules as $m){
    $lib=$extdir.'/'.$m.'.so';
    if (file_exists($lib)) {
        print "$m: dynamically loaded\n";
    } else {
        print "$m: statically loaded\n";
    }
}

それは絶対確実ではありませんが、あなたにとっては十分かもしれません!

于 2013-01-23T11:54:43.257 に答える