安全线程的PHP5.6版本是否可以配置Zend Guard Loader for PHP 5.6,为什么配置失败,快来帮我解决问题?

2025-05-14 08:12:08
推荐回答(2个)
回答(1):

你配置的问题??

  • 我们以php5.6 (

    php5.6 VC11 x86 Non Thread Safe

    )版本为例,说明一下:x86是32位系统的意思,  Non Thread Safe是非安全线程, Thread Safe是安全线程。php官网下载地址:http://windows.php.net/download/#php-5.6-nts-VC11-x86

    下载好了php5.6 ,自己配置一下php.ini。

  • 接下来,是我们说的重点。首先我们去官网下载,选择相适用的php版本的ZendGuard ,我们这里是php5.6版本,所以要下载适用它的ZendGuard版本。ZendGuard的官方下载地址:http://www.zend.com/en/products/loader/downloads#Windows  

    我们这里是下载基windows系统的ZendGuard ,(如果你系统是linux,你就下载linux的ZendGuard)

    解压并提取  ZendLoader.dll(Windows系统)或ZendGuardLoader.so(Linux),对应你的PHP版本。

  • 下载了Zend Guard Loader 

    for PHP 5.6,解压文件后复制ZendLoader.dll到php安装路径的ext目录中,

    在php.ini配置加入:

    [Zend.loader]

    zend_extension="C:/php/ext/ZendLoader.dll"

    zend_loader.enable=1 

    zend_loader.disable_licensing=0 

    zend_loader.obfuscation_level_support=3

    zend_loader.license_path=

    总结一下:

    【Linux 和 Mac OS X环境下】

    zend_extension="/usr/lib/php/modules/ZendGuardLoader.so"(替换成自己的ZendGuardLoader.so路径)

    zend_loader.enable=1

    zend_loader.disable_licensing=0

    zend_loader.obfuscation_level_support=3

    重新启动Web服务器。

    【Windows(非线程安全的php版本)】

    zend_extension="c:/php/ext/ZendLoader.dll"(替换成自己的ZendGuardLoader.dll路径)

    zend_loader.enable=1

    zend_loader.disable_licensing=0

    zend_loader.obfuscation_level_support=3

    重新启动Web服务器。

  • 测试: 新建文本文档,填写下面内容:保存,然后更改文件名为phpinfo.php放到你域名根目录,然后通过你的域名+phpinfo.php浏览查看,有查看到ZendGuard 就说明安装成功,否则就安装失败。

    或者:打开windows的“运行”输入cmd,切换路径到你php安装目录,执行php -v 回车。假如:你的php安装在e盘的php文件 ,命令如下:①cd E:/php 回车。②E: 回车  进到你想要的路径下。③php -v 回车 有查看到有加载zendloader 就说明安装成功,否则就安装失败。

  • 安装ZendGuard失败原因如下:①你安装了低于php5.3的版本②不支持64位的php,只支持32位的

    ③Windows下,Zend Loader only works with NTS PHP!

    ZendGuard只支持NTS(Non Thread Safe)版的php,TS(Thread Safe安全线程)版的不支持。

    如何判断:

    通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。

    按住ctrl+f快捷键,输入Thread Safety ,查看里面属性是不是enabled。

    附上NTS和TS的区别

    NTS:Non Thread Safe

    非安全线程, 在执行时不进行线程(Thread)安全检查。

    TS:Thread Safe

    安全线程, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。

  • 注意事项

  • ZendGuard只适用非线程安全版本的php

回答(2):

zend guard 6 是目前最新版本,现只能支持 php 5.3x 和 5.4x,你现在使用5.5当然支持不了。