92

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

それらのほとんどを解決しましたが、mCrypt ライブラリを動作させることができないようです。パッケージがインストールされているので、apt-get する必要はありません。サーバーは動作し、すべて問題ないように見えますがphp artisan serve、Laravel 4 で実行しようとすると、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
4

10 に答える 10

273

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

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

これは私にとってはうまくいきました。

于 2013-10-18T10:42:10.797 に答える
27

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

sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

sudo service apache2 restart
于 2014-05-22T09:18:45.753 に答える
14

インストール後に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
于 2014-05-16T04:47:51.823 に答える
11

Ubuntu 13.10 から 14.04 へ:

sudo php5enmod mcrypt
sudo service apache2 restart

私のために働きます。

于 2014-06-22T19:03:00.573 に答える
3

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

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

apt-get インストール php5-mcrypt

パスを見つける

updatedb && ロケート mcrypt.so

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

拡張子=/usr/lib/php5/20121212/mcrypt.so

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

サービス php5-fpm 再起動

于 2016-03-07T10:57:25.483 に答える
0

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

ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini
service apache2 restart
于 2014-09-03T16:58:07.090 に答える
0

パッケージが既にインストールされている場合の別の解決策:

sudo aptitude reinstall php5-mycript

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

于 2014-03-09T03:04:49.827 に答える
0

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$ 

そのため、nano エディターを使用して、php.ini ファイルの最後に以下の行を追加しました。

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

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

php artisan serve

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

于 2015-03-01T01:54:08.670 に答える
0

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

于 2015-07-04T08:52:01.030 に答える