質問
mcrypt_decrypt()関数を使用するスクリプトがありますが、次のエラーが表示されます
致命的なエラー:未定義の関数mcrypt_decrypt()の呼び出し
この機能を使用するには、どのモジュール/ライブラリを含める必要がありますか?または、エラーが発生する別の理由がありますか?
ありがとう
解決
ご覧ください:
PHPを-with-mcrypt [= DIR]
でコンパイルし、マシンにlibmcryptバージョン2.5.6以降をインストールする必要があります。
他のヒント
sudo apt-get install php5-mcrypt
ubuntuで動作します。
php5-mpmをphp5-fpmで構成(Ubuntu 14.04)
私は、すでにnginxとphp-fpmがインストールされ実行されていると仮定します。
php5-mcryptは既にインストールされている必要があります(php5-fpmにバンドルされています)。安全のためだけに、 apt-get php5-mcryptのインストール
mods-avaliableへのシンボリックリンクを作成し、 ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
有効にします。 php5enmod mcrypt
php-fpmを再起動し、 サービスphp5-fpm restart
nginxを再起動し、 service nginx restart
完了!
マニュアルから:
でPHPをコンパイルする必要があります --with-mcrypt [= DIR]パラメーターを使用して、この拡張機能を有効にします。 DIRは mcryptインストールディレクトリ。確認してください オプションを指定してlibmcryptをコンパイルします --disable-posix-threads。
一般に、関数が未定義であるとPHPが言う場合、何らかのライブラリでコンパイルする必要があることを意味します。
上記の私は動作しません、あなたはこれを試すことができます:
コンテンツを含む/etc/php5/conf.dにmcrypt.iniファイルを作成
extension=mcrypt.so
http://php-osx.liip.ch/ でPHPを5.4にアップグレードしました。うまくいきました。
PHP 5.3.Xの場合
yum mcryptパッケージの可用性に依存し、yumパッケージを使用できます
このように: php53-mcryptのインストール httpdを再起動します
phpinfoページのフォルダーに注意してください:"このディレクトリをスキャンして、追加の.iniファイルを探します"次:"解析された追加の.iniファイル"。
実行中のphp 5.4にアップグレードした後(Works)
sudo php5enmod mcrypt
sudo service apache2 restart