web-dev-qa-db-ja.com

Mcrypt PHP Mac OS Xでは拡張機能が必要です

このエラーが発生し続けます

Mcrypt PHP拡張機能が必要

composer updateを実行した後の下部:

enter image description here

私はMacを使用しているので、実行しようとしました:

brew search mcrypt brew install php56-mcrypt

それでも同じエラーメッセージが表示されます。

16
kyo

手順

次のコマンドを実行してこれを解決しました

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt
php --version // To Test your php 
Sudo composer update

結果

Mcryptの警告はもうありません!!

Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Generating optimized class loader
32
kyo

更新後:

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

Php5.6(またはそれ以降)をインストールしている場合、次のコマンドを使用して、brewで使用可能なバージョンを確認できます。

$ brew search mcrypt
homebrew/php/php53-mcrypt     homebrew/php/php55-mcrypt         homebrew/php/php70-mcrypt     mcrypt
homebrew/php/php54-mcrypt     homebrew/php/php56-mcrypt     homebrew/php/php71-mcrypt

私の場合、php7.0を使用しています。

$ brew install php70-mcrypt
9
CharlieJade

オンmacOS High Sierra私はこの手順を実行しました:

1-パッケージを検索:

brew search mcrypt

結果:

==>ローカルタップを検索しています... homebrew/php/php71-mcrypt mcrypt homebrew/php/php53-mcrypt
homebrew/php/php54-mcrypt homebrew/php/php55-mcrypt homebrew/php/php56-mcrypt homebrew/php/php70-mcrypt libtomcrypt

2-私のPHPバージョンを検索して、インストールする必要があるものを確認します。

php --version

結果:

PHP 7.1.7(cli)(構築日:2017年7月15日18:08:09)(NTS)Copyright(c)1997-2017 The PHP Group Zend Engine v3.1.0、Copyright(c )1998-2017 Zend Technologies

3-正しいパッケージをインストールします。私にとっては7.1.7 => homebrew/php/php71-mcryptでした

brew install homebrew/php/php71-mcrypt

4- find "mcrypt.so"拡張ファイルを見つける

find /usr/ -type f -name "mcrypt.so"

結果:

検索:/usr//local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so

5- php.iniを検索する

php -i | grep 'Configuration File'

結果(存在する場合):

設定ファイル(php.ini)パス=>/etcロードされた設定ファイル=> /etc/php.ini

6- /etc/php.iniの最後に次の行を追加します(最後のステップで正しいパスを参照してください)拡張子mcrypt.so

 extension=/usr/local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so

これでコマンドを実行できます。

行を追加する必要があります

 extension=mcrypt.so

CLIを担当するphi.iniファイルでPHPバージョン。場所を確認するには、次を実行します。

php -i | grep 'Configuration File'
3
christophetd

使用中[〜#〜] xampp [〜#〜]Macで、phpをインストールしてから、peclを使用してmcryptをコンパイルする必要がありました。その後mcrypt.soをXAMPPにコピーしました。

利用可能なリリースの実際のリストは次のとおりです。 http://pecl.php.net/package/mcrypt

コマンドは次のとおりです。

echo Install php...
brew install php
/usr/local/opt/php/bin/php -v

echo Correction of "error Connection to `ssl://pecl.php.net:443' failed"...
wget http://curl.haxx.se/ca/cacert.pem
Sudo cp cacert.pem /private/etc/ssl/cert.pem
Sudo mv cacert.pem /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
/usr/local/opt/php/bin/pecl list-all

echo Compile and Install mcrypt.so...
Sudo /usr/local/opt/php/bin/pecl install mcrypt-1.0.1

peclのビルドプロセスの最後のメッセージ:

Build process completed successfully
Installing '/usr/local/Cellar/php/7.2.7/pecl/20170718/mcrypt.so'
install ok: channel://pecl.php.net/mcrypt-1.0.1
Extension mcrypt enabled in php.ini

build processのパスに基づいて、コンパイルしたmcrypt.soをXAMPPにコピーし、php.iniで拡張機能を有効にします。

Sudo cp /usr/local/Cellar/php/7.2.7/pecl/20170718/mcrypt.so /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20170718/mcrypt.so 
echo 'extension=mcrypt.so' >> /Applications/XAMPP/xamppfiles/etc/php.ini

動作するかどうかを確認します。

/Applications/XAMPP/bin/php -i | grep "mcrypt"

結果は次のとおりです。

mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

Apacheを再起動して、ブラウザを使用して動作することを確認してください。

多分それは誰かを助け、私は1つを勝ち取る親指を立てる。ありがとう

1
lynx_74