web-dev-qa-db-ja.com

PHPにmcrypt拡張が存在するかどうかを確認する方法

Mcrypt拡張が利用可能/インストールされているかどうかを確認するための最も簡単で最速のPHPコード行を知りたいです。

文字列を暗号化する関数があり、最初にmcryptが使用可能かどうかを確認する必要があります。そうでない場合は、システムで使用可能な代替暗号化ソリューションを実行します。

ありがとう!

13
Heroselohim

function_existsを使用して、mcrypt関数の1つが存在するかどうかを確認できます。

if(function_exists('mcrypt_encrypt')) {
    echo "mcrypt is loaded!";
} else {
    echo "mcrypt isn't loaded!";
}

2016年7月30日を編集:
私の答えはまだ時々いくつかの賛成票を獲得しているので、私は私のパフォーマンスとCristi Draghiciの答えをベンチマークしました。結論は、function_existsextension_loadedよりも少し速いということです。 https://3v4l.org/So4Ep

41

Extension_loaded()を使用することもできます:

if (extension_loaded('mcrypt')) {
    echo "mcrypt is loaded!";
} else {
    echo "mcrypt isn't loaded!";
}
15
Cristi Draghici

XXAMPやWAMPなどの開発環境を使用している場合は、デフォルトの「phpinfo」ページが必要です。たとえば、XXAMPでは次のようになります。

http://localhost/dashboard/phpinfo.php

次のようなphpファイルを表示して、同じ画面を表示することもできます。phpinfo();コードのどこかに。

この画面で、「mcrypt support」という文字列を検索してください。インストールされている場合は、「有効」というボックスが表示されます。

1
Mike Mcgrath