web-dev-qa-db-ja.com

Ubuntu 13.10(Nginx、PHP-FPM)でPHP拡張Mcryptを使用できません

ラップトップに新しいUbuntu 13.10をインストールしました。通常のように、Web開発に必要なパッケージ(nginx、php5-fpm、mysql、php5-mysql、php5-mcryptなど)をインストールします。

いくつかの構成ファイルを編集した後、これは通常機能します。

しかし、今日、13.10以降、予想したWebページの代わりにエラーが表示されます。

Laravel requires the Mcrypt PHP extension. 

パッケージphp5-mcryptがインストールおよび再インストールされました。

コマンドphp -mはmcryptを表示しないようです。

問題の原因はどこにあるのでしょうか?私はこのセットアップを何度も行いましたが、常に機能していました。

18
Marc-François

今夜13.10にアップグレードした後、同じ問題が発生しました。どうやらこれは本物のUbuntu 13.10のバグです:「 phpmyadminはphp5-mcryptを認識しません 」。 PHPモジュールはconf.dディレクトリからmods-availableディレクトリに移動され、mcryptモジュールは取り残されました。

これを修正するために、PHP構成のmcrypt.iniファイルへのシンボリックリンクを配置しました。

アパッチ

Apacheを使用する場合(php-fpmではなく):

Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/Apache2/conf.d/20-mcrypt.ini
Sudo service Apache2 restart

php-fpm

またはphp-fpmの場合(Apacheではなく):

  1. Mods-availableのiniファイルへのシンボリックリンクを作成する

    Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
    
  2. MODを有効にする

    Sudo php5enmod mcrypt
    
  3. FPMを再起動します

    Sudo service php5-fpm restart
    

44
Tom

または、次を使用します。

Sudo apt-get install php5-mcrypt

これが標準のphpインストールで動作するかどうかわからない-私はphp 5.5.7を以下のパッケージを使用してインストールしました。

Sudo add-apt-repository ppa:ondrej/php5
Sudo apt-get update
1
JoeTidee