ラップトップに新しい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を表示しないようです。
問題の原因はどこにあるのでしょうか?私はこのセットアップを何度も行いましたが、常に機能していました。
今夜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の場合(Apacheではなく):
Mods-availableのiniファイルへのシンボリックリンクを作成する
Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
MODを有効にする
Sudo php5enmod mcrypt
FPMを再起動します
Sudo service php5-fpm restart
または、次を使用します。
Sudo apt-get install php5-mcrypt
これが標準のphpインストールで動作するかどうかわからない-私はphp 5.5.7を以下のパッケージを使用してインストールしました。
Sudo add-apt-repository ppa:ondrej/php5
Sudo apt-get update