laravel Mac OS X上需要Mcrypt PHP扩展

rvpgvaaj  于 2023-01-21  发布在  Mac
关注(0)|答案(6)|浏览(211)

我一直收到此错误

需要Mcrypt PHP扩展

在我运行composer update后的底部

由于我使用Mac,我已经尝试运行:
brew search mcrypt brew install php56-mcrypt
我仍然收到相同的错误消息。

zte4gxcn

zte4gxcn1#

步骤

我通过运行以下命令解决了这个问题

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
9fkzdhlc

9fkzdhlc2#

更新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
ufj5ltwl

ufj5ltwl3#

macOS High Sierra上,我执行了以下步骤:
1-搜索软件包:

brew search mcrypt

结果:
==〉搜索本地自来水... homebrew/php/php71-mcrypt mcrypt homebrew/php/php53-mcrypt
/php/php54-mcrypt自制软件/php/php55-mcrypt自制软件/php/php56-mcrypt自制软件/php/php70-mcrypt libtomcrypt
2-搜索我的php版本以了解我需要安装什么:

php --version

结果:
PHP 7.1.7(客户端)(内置版本:2017年7月15日18:08:09)(NTS)版权所有(c)1997 - 2017 PHP集团Zend引擎v3.1.0,版权所有(c)1998 - 2017 Zend技术
3-安装正确的软件包,对我来说是7.1.7 =〉homebrew/php/php71-mcrypt

brew install homebrew/php/php71-mcrypt

4-查找"www.example.com"扩展文件 mcrypt.so " extension file

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

结果:
查找:/usr//本地/Hive/php71-mcrypt/7.1.13_19/www.mcrypt.so
5-搜索php.ini

php -i | grep 'Configuration File'

结果(如存在):
配置文件(php.ini)路径=〉/etc加载的配置文件=〉/etc/php.ini
6-在/etc/php.ini的末尾添加下一行(参见最后一步的正确路径)扩展名www.example.com mcrypt.so

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

完成,现在可以执行命令了。

np8igboo

np8igboo4#

您需要添加以下行

extension=mcrypt.so

在负责CLI PHP版本的phi.ini文件中。要查找它的位置,请运行:

php -i | grep 'Configuration File'
wn9m85ua

wn9m85ua5#

在我的Mac上使用XAMPP,所以我必须安装php,然后使用pecl编译mcrypt,之后我将www.example.com复制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

根据构建过程的路径,我将编译后的www.example.com复制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,以便使用浏览器查看其工作情况。
也许这对某人有帮助,我赢得了一个竖起大拇指。谢谢

5kgi1eie

5kgi1eie6#

如果你使用brew试试这个:
1.卸载现有php然后安装shivammathur/php
添加shivammathur PHP

brew tap shivammathur/php

更改php版本与你需要的(5.6或7.2或7.4或8.1或下一个版本)

brew install shivammathur/php/php@8.1

2.安装shivammathur/extensions it s将添加扩展到php然后

brew tap shivammathur/extensions

brew install shivammathur/extensions/mcrypt@8.1

然后你安装mcrypt与相同的版本作为php版本

brew install mcrypt@8.1

然后重新启动httpd

brew services restart httpd

参考:
https://github.com/shivammathur/homebrew-php
https://github.com/shivammathur/homebrew-extensions

相关问题