启用 Mcrypt 的 PHP 7.2 上的 Laravel 4.2 仍然显示“需要 Mcrypt PHP 扩展”。在浏览器上

Posted

技术标签:

【中文标题】启用 Mcrypt 的 PHP 7.2 上的 Laravel 4.2 仍然显示“需要 Mcrypt PHP 扩展”。在浏览器上【英文标题】:Laravel 4.2 on PHP 7.2 with Mcrypt enabled still shows 'Mcrypt PHP extension required.' on browser 【发布时间】:2020-01-03 07:33:36 【问题描述】:

我正在尝试使用 Laravel Homestead 8 在本地运行 Laravel 应用程序 (4.2.22),该应用程序使用 mcrypt 在 php 7.2 上运行。

我安装了 mcrypt 并在 php.ini cli 和 apache2 上启用了它...我已经尝试了所有方法,但我的浏览器仍然显示“需要 Mcrypt PHP 扩展”。当我运行应用程序时......我什至能够安装依赖项(composer install)而不显示“mcrypt required”

php -i | grep "mcrypt" 显示:

mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled

php -m 显示 mcrypt

这可能与 Laravel、Composer 或某些缓存有关吗?

【问题讨论】:

安装mcrypt后是否重启apache?您确定您的 laravel 站点使用您检查过的相同 php 吗?并尝试打印 phpinfo(); 并注意 mcrypt 也在这里。 在运行时使用phpinfo()检查你的PHP,这可能与CLI不同 谢谢。我刚刚检查了 phpinfo();正如你所提到的,它是从 /etc/php/7.2/fpm/php.ini 运行的……那我该如何启用 mcrypt 呢?我应该将 extension=mcrypt.so 添加到 /etc/php/7.2/fpm/php.ini 吗? 正确,试试看。就像你在其他 .ini 文件中所做的那样 谢谢 Grabatui 和 Scuzzy。我将它添加到 .ini 文件并重新启动服务器。它现在可以在浏览器上运行! 【参考方案1】:

检查 phpinfo() 并注意到服务器正在使用 etc/php/7.2/fpm/php.ini 我将 extension=mcrypt.so 添加到 php.ini 文件中,现在它可以在浏览器上运行。

【讨论】:

以上是关于启用 Mcrypt 的 PHP 7.2 上的 Laravel 4.2 仍然显示“需要 Mcrypt PHP 扩展”。在浏览器上的主要内容,如果未能解决你的问题,请参考以下文章

准备在 PHP 7.2 中移除 Mcrypt

PHP 7.2中mcrypt_encrypt的精确替代

PHP 7.2 中 mcrypt_encrypt 的完全替代品

我想使用php 7.2使mcrypt在xampp窗口上工作错误:调用未定义的函数mcrypt_module_open()

sh 安装PHP 7.2 / PHP 7.3 MCrypt扩展(请参阅https://lukasmestan.com/install-mcrypt-extension-in-php7-2/)

警告:模块 mcrypt ini 文件在 /etc/php/7.2/mods-available 下不存在