如何在 MacOS 12 上为 php 7.1 安装 mcrypt 扩展以进行 Laravel 开发?
Posted
技术标签:
【中文标题】如何在 MacOS 12 上为 php 7.1 安装 mcrypt 扩展以进行 Laravel 开发?【英文标题】:How do I install mcrypt extension for php 7.1 on MacOS 12 for Laravel development? 【发布时间】:2017-04-25 19:18:38 【问题描述】:这让我发疯了,遵循所有在线教程并没有帮助。
我刚刚升级到运行 MacOS Sierra (10.12.1) 的新 mac,并正在尝试配置我的开发环境。但是,每当我在我的项目上运行 composer update 或 composer install 时,我都会收到以下消息:
php Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20131226/mcrypt.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20131226/mcrypt.so, 9): image not found in Unknown on line 0
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for laravel/framework v5.0.35 -> satisfiable by laravel/framework[v5.0.35].
- laravel/framework v5.0.35 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
Problem 2
- laravel/framework v5.0.35 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
- tom-lingham/searchy 2.0.10 requires illuminate/support 5.* -> satisfiable by laravel/framework[v5.0.35].
- Installation request for tom-lingham/searchy 2.0.10 -> satisfiable by tom-lingham/searchy[2.0.10].
To enable extensions, verify that they are enabled in those .ini files:
- /etc/php.ini
我已经运行了 brew install mcrypt 并且它已经安装好了。
Warning: mcrypt-2.6.8 already installed
系统运行的是 php 7.1,所以我也运行了 brew install php71-mcrypt
extension=mcrypt.so 已包含在 php.ini 文件中,在我的机器上和我在 vagrant 机器上都试过了。
任何帮助将不胜感激,因为我已经在这 2 天了!
【问题讨论】:
最好不要使用mcrypt,它已经废弃了近十年了。因此,它已被弃用,并将在 PHP 7.2 中从核心中删除并进入 PECL。它不支持标准 PKCS#7 (née PKCS#5) 填充,仅支持甚至不能用于二进制数据的非标准空填充。 mcrypt 有许多出色的 bugs 可以追溯到 2003 年。请考虑使用 defuse 或 RNCryptor,它们提供了完整的解决方案,正在维护并且是正确的。 【参考方案1】:由于您正在运行 vagrant,因此您需要在 vagrant 机器中安装 mcrypt。检查您在 vagrant 上安装了哪个版本的 php 并使用
安装 mcryptsudo apt-get install *mcrypt-version-here*
使用
重启 apachesudo service apache2 restart
【讨论】:
谢谢!!!!工作完美。不敢相信事情就这么简单。图例以上是关于如何在 MacOS 12 上为 php 7.1 安装 mcrypt 扩展以进行 Laravel 开发?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 macos 上为 ffmpeg 启用 libx264
无法在 macOS 上为 Python 3.6 导入 pdftotext