web-dev-qa-db-ja.com

Ubuntuを13.10にアップグレードした後にmCryptが存在しない

システムをUbuntu 13.04から13.10にアップグレードした後、Apache、mysql、およびphpの構成でいくつかの問題が発生しました。

私はそれらのほとんどを解決しましたが、mCryptライブラリを動作させることはできません。パッケージがインストールされているので、apt-getする必要はありません。サーバーは動作し、すべて正常に動作しますが、Laravel 4でphp artisan serveを実行しようとすると、mCryptが必要であるというメッセージが表示されます。

php --ri mcryptを実行し、出力はExtension 'mcrypt' not present.でしたextension=mcrypt.so/etc/php5/Apache2/php.iniに入れようとしましたが、うまくいきませんでした。

何か案は?

dpkg --get-selections | grep php5の出力

libapache2-mod-php5         install
php5                        install
php5-cli                    install
php5-common                 install
php5-Gd                     install
php5-json                   install
php5-mcrypt                 install
php5-mysql                  install
php5-readline               install
92
Vuk Stanković

launchpad.net で解決策を見つけたと思います。

そう:

Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
Sudo php5enmod mcrypt
Sudo service Apache2 restart

これは私のために働いた。うまくいけば、他の人にも役立つでしょう。

273
Vuk Stanković

Ubuntu 14.04でこの問題が発生しましたが、解決するために次のことを行いました。

Sudo apt-get install php5-mcrypt
Sudo php5enmod mcrypt

Sudo service Apache2 restart
27
eaykin

また、インストール後にUbuntu 14.04でこの問題が発生します。

最初にmcryptを有効にします

Sudo gedit /etc/php5/Apache2/php.ini

このコマンドを任意の行に追加します

extension=mcrypt.so

/ etc/php5にconf.dフォルダーを作成します

Sudo mkdir conf.d

そして、そのフォルダー内にmcrypt.iniファイルを作成します

Sudo gedit mcrypt.ini 

次に、このコマンドをそのファイルに追加します

extension=mcrypt.so

次に、ファイルへのリンクを作成します

Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available

Mcryptモジュールを有効にする

Sudo php5enmod mcrypt

Apacheを再起動します

Sudo service Apache2 restart
14
Daroath

Ubuntu 13.10から14.04の場合:

Sudo php5enmod mcrypt
Sudo service Apache2 restart

私のために働く。

11
Aleftos

Ubuntu 14.04とNginxでもこの問題が発生しましたが、ヒントはFPMサービスを再起動することでした。

ライブラリをインストールする

apt-get install php5-mcrypt

パスを見つける

updatedb && mcrypt.soを見つけます

/etc/php5/mods-available/mcrypt.iniにあるmcrypt.iniファイル内でmcrypt.soのパスを設定します

extension =/usr/lib/php5/20121212/mcrypt.so

そして、FPMサービスを再起動します

サービスphp5-fpm restart

3
Deric Lima

パッケージが既にインストールされている場合の別のソリューション:

Sudo aptitude reinstall php5-mycript

これはアップグレードを行った後私のために働いた

0
rreimi

仮想マシンではなくローカルマシンで職人のコマンドを入力したために、この「問題」が発生する場合があります。 Homesteadを使用している場合、mcryptはすでにインストールされています。 Homestead sshのリマインダーと考えてください

0
Chukky Nze

このコードを試してください:

ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/Apache2/conf.d/20-mcrypt.ini
service Apache2 restart
0
Indrajeet Singh

php.netにあります

Ubuntuでは、php5-mcryptをインストールするだけではmcryptが機能しませんでした。有効にするには、rootとして次のコマンドを実行する必要があります。

apt-get install php5-mcrypt
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
php5enmod mcrypt
service Apache2 restart

http://php.net/manual/en/mcrypt.installation.php#114609

0
SharkWeb

Mac OS X Yosemiteで実行しているPHP 5.5.14でも同じ問題が発生しました。 Laravel 5.0をインストールしようとしました。そして、新しいプロジェクトを作成しようとすると、次のようなエラーが発生しました(php artisan serveでlaravelサーバーを起動しようとしても

Alejandros-MacBook-Pro:Documents Lexynux$ laravel new blog
Crafting application...
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
Generating optimized class loader
Compiling common classes
Compiling views
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
Application key [CCOPocoMjnJTx4AFXk64wqyTKyo3BlHq] set successfully.
Application ready! Build something amazing.
Alejandros-MacBook-Pro:Documents Lexynux$ 

そのため、ナノエディターでphp.iniファイルの最後に次の行を追加しました。

extension=mcrypt.so
Sudo nano /etc/php.ini

最後に、ターミナルを再起動して、laravelアプリサーバーを再起動します。

php artisan serve

そしてそれはうまくいきます!

0
Alex Ventura