migrate
OSX上のLaravel 4で関数を使用しようとしています。ただし、次のエラーが発生します。
Laravel requires the Mcrypt PHP extension.
私が理解している限りでは、既に有効になっています (下の画像を参照)。
何が問題で、どうすれば修正できますか?
MAMPをインストールしていますか?
ターミナルで使用which php
して、使用している PHP のバージョンを確認します。
MAMP の PHP バージョンでない場合.bash_profile
は、ユーザーのホーム ディレクトリを編集または追加する必要があります。cd ~
に.bash_profile
、次の行を追加します。
export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH
編集:まず、コマンドcd /Applications/MAMP/bin/php
を使用して、使用している MAMP の PHP バージョンを確認してから、上記の PHP バージョンに置き換えてください。
次にrestart
、ターミナルで、現在使用している PHP を確認します。
そして、それは今働いているはずです。
XAMPP 1.7.3とMacをお使いの方へ
which php
/usr/bin/php
、3 に進みます。sudo nano ~/.bash_profile
(またはsudo vim ~/.bash_profile
、使用方法を知っている場合)export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
cd ~
. .bash_profile
which php
ます。正しく行えば、#4 のパスと同じになるはずです。mcrypt エラーの理由は、Mac がネイティブの php を使用しているためです。それを xampp のものに変更する必要があります。
PS Mac ユーザー向けの Laravel 4 には MAMP を使用することをお勧めします。この問題は問題なく php ファイル情報エラーとともに解決され、xampp の php バージョンは非常に古いです。
OSX 上の非 MAMP または XAMPP ユーザーの場合 (homebrew がインストールされている場合):
brew install homebrew/php/php56-mcrypt
乾杯!
Ubuntuを使用して、ちょうど
sudo php5enmod mcrypt
私のためにトリックをしました。CLI からのみ PHP を使用する必要があるため、Apache を再起動する必要はありません。
Laravel を Apache で動作させる
PHP バージョン: PHP 5.5.9
Ubuntu のバージョン: 14.04
私はWindows上で動作するlaravelプロジェクトを持っていました。それをubuntuサーバーにコピーすると、mcryptエラーが発生し始めました。これは何時間もの試行錯誤の末
職人のコマンドを機能させる
(artisan コマンド ライン ツールの使用中に mcrypt エラーが発生した場合)
私は多くの試行錯誤を行ったので、前にphp5enmodコマンドを実行するたびにエラーメッセージが表示されました. しかし、新規インストールではエラーメッセージはありませんでした。このステップの後、職人のコマンドが機能するようになりました
sudo rm /etc/php5/mods-available/mcrypt.ini
sudo apt-get purge php5-mcrypt
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
ブラウザのエラーを修正する
(ローカルlaravelインデックスページにアクセスする際にブラウザでmcryptエラーが発生している場合)
sudo nano /etc/php5/apache2/php.ini
php ini の動的にコンパイルされた拡張セクションの下に次の行を追加します。
extension=mcrypt.so
Apacheサーバーを再起動し、laravelキャッシュとすべての機能をパージします
または、次を使用します。
sudo apt-get install php5-mcrypt
これが標準のPHPインストールで機能するかどうかはわかりません-次php 5.5.7
のパッケージを使用してインストールしました:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
ubuntu の場合、他の手順が機能しない場合は、次の手順を試してください。
cd ~
sudo apt-get remove php5-mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart
それが役立つことを願っています。ありがとう !
これは私のLinux Mintローカル環境で解決しましたhttps://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5
/etc/php5/apache2/conf.d/mcrypt.ini および /etc/php5/cli/conf.d フォルダー内の /etc/php5/conf.d/mcrypt.ini ファイルへのシンボリック リンクを作成する必要がありました。 /mcrypt.ini
オールインワン環境が必要です。MAMP、XAMPP、またはその他のツールを使用できます。これらのツールのいずれかをインストールした後、.bash_profile を編集 (作成) する必要があります (bash を使用していると仮定します)。
または、Laravel Homestead を使用することもできます。
公式ドキュメントへのリンクは次のとおりです: http://laravel.com/docs/5.0/homestead
また、Jeffrey にはそれに関する無料のチュートリアルがあります: https://laracasts.com/series/laravel-5-fundamentals/episodes/2
以下のすべてのツールをプレインストールするので、homestead を使用することをお勧めします。
@JetLaggy の拡張:
MAMP ディレクトリで .bash_profile を何度も変更しようとした後、MAMP php ディレクトリのファイル権限を変更し、「どの php」を取得して適切なディレクトリを表示することができました。問題は、「php -v」などの他の機能が機能しないことでした。
ということで、MAMPをアップデート。 http://documentation.mamp.info/en/mamp/installation/updating-mamp
これは、私の特定のセットアップのトリックでした。更新されたバージョンの PHP を反映するように PATH を調整する必要がありましたが、いったん調整すると、すべてが機能しました。
Z Shell を使用している場合は、次の手順を実行します。
nano ~/.zshrc
export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
source ~/.zshrc
which php
- MAMP 5.6.10 パスを取得する必要があります5.6.10 は、MAMP で設定した PHP のバージョンです。