• Zend Guard Run-time support missing问题的解决


    Zend Guard不仅可以实现对PHP应用的脚本进行加密保护和对PHP应用的产品进行商业许可证管理,还可以为许多软件生产商、IT服务提供商提供完善的加密和安全的产品发布系统。

    虽然现在可以成功加密php源码了,但是当执行脚本的时候,会发现不能正常执行,会显示如下信息

    Zend Guard Run-time support missing!
    One more more files on this web site were encoded by ZendGuard and the required run-time support is not installed orproperly configured.
    ......

    原来,加密后的php代码需要ZendGuardLoader模块才能正常运行。
    因为我的php版本是5.3.10的,所以我这里只提供了ZendGuardLoader-php-5.3-Windows,如果是其他版本的php,请自行百度。
    点击下载ZendGuardLoader-php-5.3-Windows
    下载好后解压压缩包,找到目录下的 ZendLoader.dll 文件,将它放到你的php目录下ext下,再编辑php.ini文件,添加一段代码(如):

    [Zend.loader]
    zend_loader.enable=1
    zend_loader.disable_licensing=1
    zend_loader.obfuscation_level_support=3
    zend_loader.license_path=
    zend_extension="你的PHP安装目录extendLoader.dll"

      重启wampserver
      运气好的话,会发现可以成长执行了,运气不好的话,还是会发现以上错误。
      这里我们已经安装了zend guard loader了,为什么还是无法执行zend加密后的php脚本呢?
      通过查看输出phpinfo()信息,我发现有这么几行信息:

      PHP Extension 20090626

      Zend Extension 220090626

      Zend Extension Build API220090626,TS,VC9


      请注意,其中的TS是thread safety的简写(即线程安全)
      一时也找不出原因,索性直接打开zend guard官网进行搜索,然后就解决了。
       原来,zend guard loader只支持NTS的版本,意味着如果你的php版本是TS的话,就没法使用zend guard loader了,如果你想查看自己的php是ts还是nts的,只需要输出phpinfo,然后搜索下:Thread Safety,disabled对应nts版本,否则为ts。
      因此,终极解决办法就是,下载个php NTS版本进行安装即可。

  • 相关阅读:
    《3D Math Primer for Graphics and Game Development》读书笔记1
    OpenGL学习资料汇总
    [Unity3D]做个小Demo学习Input.touches
    [Unity3D]再次点击以退出程序
    图文详解Unity3D中Material的Tiling和Offset是怎么回事
    自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药
    自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析
    Unity3D核心类型一览
    自制Unity小游戏TankHero-2D(3)开始玩起来
    自制Unity小游戏TankHero-2D(2)制作敌方坦克
  • 原文地址:https://www.cnblogs.com/caicaizi/p/4857110.html
Copyright © 2020-2023  润新知