私はこれを何度もしました:
Sudo aptitude install php5-mcrypt
Sudo Apache2ctl restart
aptitudeはmcryptがインストールされていると言います。すでに3回再インストールしました。 Apacheをインストールしてから約20回再起動しました。 phpInfoを見ると、mcryptがリストされていません。コードを実行しようとすると、mcrypt関数(1つを選択-任意の1つ)が存在しないと表示されます。 mcryptは明らかに有効になっていません。
誰が間違っているのか考えていますか?どの部分がどこにどのように収まるのかがわかりません。
PHP 5.5.3をインストールしました
これを試して
Sudo php5enmod mcrypt
Sudo service Apache2 restart
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:****
mcrypt
とphp5-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
に現れました!
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統合の構成からコピーできるはずです。
Mcryptモジュールはデフォルトでは有効になっていません。 mcryptモジュールを有効にして、Apacheを再起動します( credit )
Sudo php5enmod mcrypt
Sudo service Apache2 restart
さて、これで終わりです。時々、「enmod」のような単純なことを行う最も複雑な方法を探しているようです。 )Boinstが言うように:Sudo php5enmod mcrypt
。次に、Apacheをリロードします。