Mac OS X 上需要 Mcrypt PHP 扩展
Mcrypt PHP extension required on Mac OS X
我一直收到这个错误
Mcrypt PHP extension required
在我 运行 之后的底部 composer update
:
自从我使用 Mac,我试过 运行ning :
brew search mcrypt
brew install php56-mcrypt
我仍然收到相同的错误消息。
您需要添加行
extension=mcrypt.so
在您的 phi.ini 文件中负责 CLI PHP 版本。
要找到它的位置,运行:
php -i | grep 'Configuration File'
步骤
我通过运行以下命令解决了这个问题
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
更新 brew 后:
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
在 macOS High Sierra 我做了以下步骤:
1- 搜索包:
brew search mcrypt
结果:
==> Searching local taps... 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) (built: Jul 15 2017 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-查找找到"mcrypt.so"扩展文件
find /usr/ -type f -name "mcrypt.so"
结果:
find:
/usr//local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so
5- 搜索 php.ini
php -i | grep 'Configuration File'
结果(如果存在):
Configuration File (php.ini) Path => /etc Loaded Configuration File =>
/etc/php.ini
6- 在 /etc/php.ini 的末尾添加下一行(请参阅最后一步您的正确路径)扩展名 mcrypt.so
extension=/usr/local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so
完成,您现在可以执行命令了。
在我的 Mac 上使用 XAMPP,所以我不得不安装 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
基于构建过程的路径,我将编译的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 以使用浏览器查看它是否正常工作。
也许它对某人有帮助,我赢得了一个 竖起大拇指。谢谢
我一直收到这个错误
Mcrypt PHP extension required
在我 运行 之后的底部 composer update
:
自从我使用 Mac,我试过 运行ning :
brew search mcrypt
brew install php56-mcrypt
我仍然收到相同的错误消息。
您需要添加行
extension=mcrypt.so
在您的 phi.ini 文件中负责 CLI PHP 版本。 要找到它的位置,运行:
php -i | grep 'Configuration File'
步骤
我通过运行以下命令解决了这个问题
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
更新 brew 后:
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
在 macOS High Sierra 我做了以下步骤:
1- 搜索包:
brew search mcrypt
结果:
==> Searching local taps... 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) (built: Jul 15 2017 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-查找找到"mcrypt.so"扩展文件
find /usr/ -type f -name "mcrypt.so"
结果:
find: /usr//local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so
5- 搜索 php.ini
php -i | grep 'Configuration File'
结果(如果存在):
Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini
6- 在 /etc/php.ini 的末尾添加下一行(请参阅最后一步您的正确路径)扩展名 mcrypt.so
extension=/usr/local/Cellar/php71-mcrypt/7.1.13_19/mcrypt.so
完成,您现在可以执行命令了。
在我的 Mac 上使用 XAMPP,所以我不得不安装 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
基于构建过程的路径,我将编译的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 以使用浏览器查看它是否正常工作。
也许它对某人有帮助,我赢得了一个 竖起大拇指。谢谢