Laravelを設定しようとすると、このエラーが発生し続けます。mcryptをbrew経由でインストールすると、/ usr/local/Cellarにあります。考えはありますか?..コマンドphp -mどちらか、それが重要な場合、MacネイティブWebサーバーでMountaion Lionを実行しています。
php.ini
ファイルでも同様に有効にし、おそらくApacheを再起動する必要があります。
php.ini
には;mcrypt.so
があり、そこから;
を削除します。
または、そこにない場合は、mcrypt.so
をどこかに追加するだけです。
また、saltオプションはPHP 7.0.0から非推奨になりました。デフォルトで生成されるsaltを単に使用することをお勧めします。
UbuntuまたはDebianベースのLinuxユーザーは、apt-get
を使用して必要なパッケージをインストールできます。
Sudo apt-get install php5-mcrypt
後でWebサーバーを再起動することを忘れないでください:
Sudo service Apache2 restart
それでも機能しない場合は、構成ファイルをWebサーバーの適切な構成フォルダーにリンクしてみてください。コメント内のこのヒントについて dave101 に感謝します。
Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/Apache2/conf.d/ # for Apache
Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/cli/conf.d/ # for CLI
そして再び、Webサーバーを再起動します。
Sudo service Apache2 restart
おそらく、まだ動作していない場合は、php5enmod mcrypt
で@RahulPrasadによって示される行も必要です。
Sudo php5enmod mcrypt && Sudo service Apache2 restart
php56-mcrypt
phpモジュールが実際に必要なときにmcrypt
をインストールしました。
質問で、/usr/local/Cellar
にmcrypt
がインストールされており、OSX
を使用していることがわかりました。したがって、OSXに Homebrew を使用してmcrypt PHPモジュールをインストールする最も簡単な方法は次のとおりです。
// assuming you have php56
brew install php56-mcrypt
Homebrewで正しいパッケージが見つからない場合は、 PHP GitHubで見つかったリポジトリ :
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
コマンドbrew search mcrypt
を発行すると、次のように表示されます。
libtomcrypt mcrypt php53-mcrypt php54-mcrypt php55-mcrypt php56-mcrypt
他のいくつかのポスターは、php.ini
ファイルを編集する必要があると述べています。 homebrewがモジュールをアクティブ化するので、これは不要です。構成ファイルを/usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini
に配置します
Mcrypt PHP拡張機能がインストールされていません。
Macの場合、次の指示に従いました。 Mac 10.7または10.8のmcrypt 。
彼らは多くのように見えますが、そうではありません、それが機能するのは非常に簡単です!
最近PHP 7-MCRYPTライブラリは廃止されました 廃止されました 。 to PHP 7そして今このエラーが表示されているのはそのためです。代替ライブラリに切り替える必要があります、いくつかの代替が this thread 。
Mycryptをインストールしたが、php_mcryptモジュールがインストールされていない/有効になっていない可能性があります。
PHPインストールのCLIフォルダーに移動し、そこにあるphp.iniを見つけてmcryptを有効にします。ターミナルは、別のphp.iniを使用することがあります。これは通常、CLIフォルダーにあります。
Homebrewでphpとmcryptをインストールしましたが、brew update
を数回実行した後でもこのエラーが発生しました。私のセットアップは、やがて少し骨が折れたと思います。
私のPHPは/ private/etc/php.ini、not/ usr/local /から設定されていたことがわかりますHomebrewが推奨するetc/php/5.4/php.ini Mcryptは/ usr/local/etc/php/5.4/ext-mcrypt.iniからも含まれていません。これはphp -i
を考慮するとあまり意味がありません私のためにこれを生成します:
Configuration File (php.ini) Path => /usr/local/etc/php/5.4
Loaded Configuration File => /usr/local/etc/php/5.4/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/5.4/conf.d
Additional .ini files parsed => /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini
私の解決策:
/private/etc/php.ini
をスーパーユーザーとして編集しますextension="/usr/local/Cellar/php54-mcrypt/5.4.28/mcrypt.so"
を追加して保存Sudo apachectl restart
でApacheを再起動しますこれは最終的に私のために働いたものです:
brew reinstall --with-homebrew-curl --with-httpd php56
brew reinstall --build-from-source php56-mcrypt
私もしなければならなかったSudo chmod 777 /usr/local/etc/php/5.6/conf.d
2番目のbrew reinstall
を追加しようとしましたext-mcrypt.ini
そのディレクトリに。