如何在 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 并使用

安装 mcrypt
sudo apt-get install *mcrypt-version-here*

使用

重启 apache
sudo service apache2 restart

【讨论】:

谢谢!!!!工作完美。不敢相信事情就这么简单。图例

以上是关于如何在 MacOS 12 上为 php 7.1 安装 mcrypt 扩展以进行 Laravel 开发?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 macos 上为 ffmpeg 启用 libx264

MacOS 安装PHP5.6

无法在 macOS 上为 Python 3.6 导入 pdftotext

[macOS] PHP双版本,5.6跟7.1

markdown Instalasi php 7.1 di MacOS menggunakan homebrew

如何在 macOS 上为 Qt 窗口使用 Objective-C 变量和方法?