4

PHPにmcryptモジュールをインストールするにはどうすればいいですか?

パスワードにIDEA暗号化を使用できるように、WAMPServerにmcrypt拡張機能をインストールする必要があります。私が操作している大規模なデータベースはすでにパスワードにIDEA暗号化を使用しているため、他の種類の暗号化は使用できません。

私はPHPにmcrypt拡張機能をインストールすることについてかなりの研究をしました。私は2つの主要なステップがあることを見ました:

  1. 拡張機能をインストールします
  2. php.iniファイルでアルゴリズムとモードが配置されているディレクトリを参照してください

ステップ1「未定義の関数mcrypt_encryptを呼び出してください...」という致命的なエラーが発生しなくなったため、正常に完了しました。

ステップ2で問題が発生します。これは、mcrypt_encrypt関数を呼び出すと、phpが警告を返すためです。「警告:mcrypt_encrypt():モジュールの初期化に失敗しました...」

すべてのアルゴリズムとモード(libmcrypt)を含むディレクトリをphp拡張フォルダーに配置し、php.iniに次の2行を記述しました。

mcrypt.algorithms_dir = "c:/wamp/bin/php/php5.4.3/ext/libmcrypt/modules/algorithms"

mcrypt.modes_dir = "c:/wamp/bin/php/php5.4.3/ext/libmcrypt/modules/modes"

次に、WAMPServerを再起動すると、「PHPスタートアップ:ダイナミックライブラリ'c:/wamp/bin/php/php5.4.3/ext/php_mcrypt.dll'を読み込めません-指定されたモジュールが見つかりませんでした」という警告が表示されました。

mcrypt拡張機能のインストール方法に関するチュートリアルをウェブ全体で検索してきましたが、見つかりません。だから私は誰かが助けてくれるかもしれないと期待して古き良きStackOverflowに来ましたか?

4

1 に答える 1

1

提案 1:

libmcrypt.dllApache/ では利用できませんphp_mcrypt.dll。最初にチェックすべきだったと思いますphpinfo()mcrypt が利用可能です

提案 2:

print_r(mcrypt_list_algorithms());IDEAアルゴリズムを表示する必要があります...無料のアルゴリズムではないため(ただし、特許は2011年5月に失効しました)、含まれていない可能性があります..IDEAアルゴリズムは利用可能としてリストされていません

提案 3:

あなたはこれを楽しむつもりはありませんが、私が読んでいるのは、PHPを自分で構築する必要があることを示唆しています(最初mcryptはIDEAで、次にphpMCRYPTで)。これは、Windowsでは少し面倒です(デフォルトのコンパイラがすべてないなど) Linux のように組み込まれています)。別の方法として、 MCRYPT/IDEAを含むWindows PHP バイナリ バージョンを探すこともできます。それらの一部には、MCRYPT/IDEA が含まれているようです (古いバージョン、 64 ビット バージョン、VC9 バージョン)。 残念ながらIDEA、人々はそれについてのインストールガイド/ディスカッションにアイデアを持っているため、アルゴリズムが含まれているかどうかに関するドキュメントを見つけるのは難しいです;)

于 2012-10-12T20:19:58.997 に答える