• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何动态查看及加载PHP扩展

    在编译并完成 php.ini 的配置之后,我们就成功的安装了一个 PHP 的扩展。不过, PHP 也为我们提供了两个在动态运行期间可以查看扩展状态以及加载未在 php.ini 中进行配置的扩展的函数。下面,我们就来看看它们的使用。

    查看是否已经加载了扩展

    echo extension_loaded("redis");
    

    非常简单的一个函数,它的作用就是检查一个扩展是否已经加载。它返回的是一个布尔值,当扩展已经加载则返回 true ,如果扩展没有加载,则返回 false 。

    在 PHP-FPM 的网页中,我们可以通过 phpinfo() 函数来查看当前 PHP 的状态及扩展相关信息。而在 CLI 命令行脚本中,我们可以使用 php -m 命令来查看已加载的扩展。

    动态加载扩展

    首先,我们在 php.ini 中关闭 redis 扩展的加载,并且同时需要打开 enable_dl=1 ,这样,我们就可以使用 dl() 函数来动态加载一个扩展了。

    dl("redis");
    echo extension_loaded("redis");
    // 1
    

    没错, dl() 函数正是用来动态加载扩展的一个函数。不过它的使用是有许多限制的,这也并不是一个安全的函数。所以在 PHP7 中,它在 php.ini 的配置 enable_dl 已经是默认关闭的了。我们在生产环境也尽量不要使用这种方式进行扩展的加载。

    另外,这个函数在 PHP7 中仅对 CLI 环境有效。也就是说,在 PHP-FPM 的网页环境下,这个函数是没用的,即使已经打开了 php.ini 中的 enable_dl 。

    扩展加载的目录是以 PHP 默认的扩展目录为基础进行加载的,在 windows 环境下注意扩展名为 .dll 文件。当扩展加载失败时,不仅这个函数会返回 false ,同时还会产生一条 E_WARNING 的错误消息。最后,在 PHP 安全模式下,这个函数也同样是无法使用的。

    综上所述,在生产环境中,我们还是尽量不要使用动态加载扩展的能力。这个可以当成我们的一个学习资料,在自己本机电脑上不想一次加载太多扩展的情况下使用,当需要测试某些功能而需要某些特殊的扩展时,再考虑使用这个功能进行本地的测试。

    测试代码:

    ?php
    
    echo extension_loaded("redis");
    
    dl("redis");
    
    echo extension_loaded("redis");

    以上就是如何动态查看及加载PHP扩展的详细内容,更多关于动态查看及加载PHP扩展的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • PHP的命令行扩展Readline相关函数的使用
    • PHP的runkit扩展如何使用
    • PHP缓存系统APCu扩展的使用
    • Thinkphp使用Zxing扩展库解析二维码内容图文讲解
    • PHP扩展安装方法步骤解析
    • PHP 扩展Memcached命令用法实例总结
    • PHP扩展类型及安装方式解析
    • 如何使用Zephir轻松构建PHP扩展
    上一篇:PHP输出缓冲与header发送问题详解
    下一篇:如何使用OPCache提升PHP的性能
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何动态查看及加载PHP扩展 如何,动态,查看,及,加载,