如何检查php中是不是存在mcrypt扩展

Posted

技术标签:

【中文标题】如何检查php中是不是存在mcrypt扩展【英文标题】:How to check if mcrypt extension exists in php如何检查php中是否存在mcrypt扩展 【发布时间】:2014-08-24 22:26:18 【问题描述】:

我想知道最简单和最快的 php 代码行来检查 mcrypt 扩展是否可用/安装。

有一个加密字符串的函数,首先它需要检查 mcrypt 是否可用。如果没有,它将执行系统上可用的替代加密解决方案。

谢谢!

【问题讨论】:

你有没有搜索过是否有一个通用的PHP函数可以检查一个函数是否存在? 是的,你说得对,但我也在寻找最快的校验码。 你可以使用***.com/questions/3131411/…中的一些技术 【参考方案1】:

您可以使用function_exists 来检查其中一个 mcrypt 函数是否存在。

if(function_exists('mcrypt_encrypt')) 
    echo "mcrypt is loaded!";
 else 
    echo "mcrypt isn't loaded!";

编辑 30.07.2016: 由于我的答案仍然不时得到一些支持,因此我对我的表现和克里斯蒂德拉吉奇的答案进行了基准测试。结论是,function_existsextension_loaded 快一点。 https://3v4l.org/So4Ep

【讨论】:

【参考方案2】:

你也可以使用 extension_loaded():

if (extension_loaded('mcrypt')) 
    echo "mcrypt is loaded!";
 else 
    echo "mcrypt isn't loaded!";

【讨论】:

【参考方案3】:

如果您使用的是 XXAMP 或 WAMP 等开发环境,则应该有一个默认的“phpinfo”页面。例如,在 XXAMP 中它将是:

http://localhost/dashboard/phpinfo.php

您也可以通过查看具有以下内容的 php 文件来实现相同的屏幕: phpinfo();代码中的某处。

在此屏幕中,只需搜索字符串“mcrypt support”。如果已安装,您将看到一个显示“已启用”的框。

【讨论】:

以上是关于如何检查php中是不是存在mcrypt扩展的主要内容,如果未能解决你的问题,请参考以下文章

如何仅使用 (*.pdf) 之类的扩展名检查 php 中是不是存在文件

如何检查文件是不是存在没有PHP中的扩展名?

需要 Mcrypt PHP 扩展

PHP - 在不知道扩展名的情况下检查文件是不是存在

为啥登陆phpadmin的界面提示缺少mysqli扩展,请检查php配置

如何解决phpMyAdmin缺少mcrypt 扩展