web-dev-qa-db-ja.com

PHP5のmcryptを取得できません

私はこれを何度もしました:

Sudo aptitude install php5-mcrypt

Sudo Apache2ctl restart

aptitudeはmcryptがインストールされていると言います。すでに3回再インストールしました。 Apacheをインストールしてから約20回再起動しました。 phpInfoを見ると、mcryptがリストされていません。コードを実行しようとすると、mcrypt関数(1つを選択-任意の1つ)が存在しないと表示されます。 mcryptは明らかに有効になっていません。

誰が間違っているのか考えていますか?どの部分がどこにどのように収まるのかがわかりません。

PHP 5.5.3をインストールしました

28

これを試して

Sudo php5enmod mcrypt

Sudo service Apache2 restart
61
user229183

Ubuntu 13.10でも同様の問題がありました。 composerインストールを実行すると、同じエラーが発生し、終了しました。

****Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-update-cmd event returned with an error

  [RuntimeException]  
  Error Output:****   

mcryptphp5-mcryptをaptitudeでインストールしましたが、php -mはロードされた拡張機能としてmcryptを表示しませんでした:

aptitude install mcrypt
aptitude install php5-mcrypt

updatedbを実行してから、locate mcryptを実行しました。 mcrypt.ini/etc/php5/conf.dを見つけました。ただし、他のすべての拡張機能(jsonなど)の/etc/php5/Apache2/conf.dおよび/etc/php5/cli/conf.dに.iniファイルがありました。これらは両方とも../../mods.availableへのリンクでした。

そこで、mcrypt.ini/etc/php5/available-modulesに移動し、リンクを設定しました。

cd /etc/php5/cli/conf.d
ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini

/etc/php5/Apache2/conf.dについても同様です。

そして出来上がり、それはphp -mに現れました!

11
user239289

ApacheによってPHPが呼び出されたときにlibmcryptをロードするiniスニペットが欠落しているようです。次の内容の/etc/php5/Apache2/conf.d/mcrypt.iniというファイルがあるはずです

; configuration for php MCrypt module
extension=mcrypt.so

システムにインストールされているものに応じて、/etc/php5/cli/conf.d/mcrypt.ini/etc/php5/conf.d/mcrypt.iniなどの他のPHP統合の構成からコピーできるはずです。

2

Mcryptモジュールはデフォルトでは有効になっていません。 mcryptモジュールを有効にして、Apacheを再起動します( credit

Sudo php5enmod mcrypt
Sudo service Apache2 restart
2
Boinst

さて、これで終わりです。時々、「enmod」のような単純なことを行う最も複雑な方法を探しているようです。 )Boinstが言うように:Sudo php5enmod mcrypt。次に、Apacheをリロードします。

1
Maximo