你配置的问题??
我们以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
zend guard 6 是目前最新版本,现只能支持 php 5.3x 和 5.4x,你现在使用5.5当然支持不了。