phpのプログラムで、mcrypt_module_open()メソッドをコールしたとき、Call to undefined method...
ワーニングが出る場合があります。
この場合、pho.iniでphp_mcrypt.dllモジュールが読み込まれていない可能性があります。php.iniを確認し、extensionの指定がコメントアウトされていたらコメントを外してください。
;extension=php_mcrypt.dll
↓
extension=php_mcrypt.dll
Windows環境で動作させる場合、PHP5.3以降ではMcryptのライブラリがphp.exeにstatic linkされているため、上記の設定は行う必要がありません(コメントアウトされた定義自体がphp.iniに存在しないです)
手元の環境のphp.exeで、本当にmcryptがstatic linkされているか不安な時は、phpinfo()で確認するとよいです。Configure Commandに
--with-mcrypt=static
があれば、リンクされているはずです(なので設定せずに実行可能です)。また、php7.1ではmcrypt_module_open()が非推奨になっています。非推奨の理由はmcryptが古すぎるためで、代わりにOpenSSLを使用することが奨励されています。
関連記事
コメントを残す