启用 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_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/)