php56zend
1. 安全线程的php5.6版本是否可以配置Zend Guard Loader for PHP 5.6,为什么配置失败,快来帮我解决问题
你配置的问题??
我们以php5.6 (
php5.6VC11 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/procts/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/moles/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服务器。
测试:新建文本文档,填写下面内容:<?phpphpinfo();?>保存,然后更改文件名为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. php的zend引擎是否支持多线程的扩展
你可以参考一下多线程扩展,再改造一下你原本的库
3. 怎么解决 php zend optimizer3.3.3 于 xdebug 2.1.0 不兼容
xdebug的官方手册中指出xdebug应当作为zend extension加载:
zend_extension_ts=”c:/php/moles/php_xdebug-4.4.1-2.0.2.dll”
但这样的话xdebug就会与ZendOptmizer冲突,导致Apache无法启动。
如何让xdebug与ZendOptmizer共存呢?解决方法就是不以zend extension的形式加载xdebug,用加载常规扩展的方法。把xdebug的dll文件放入php的ext文件夹中,然后在php.ini中加入:
extension=php_xdebug-4.4.1-2.0.2.dll
这样xdebug就能与ZendOptmizer共存了。
虽然phpinfo()里会提示:XDEBUG NOT LOADED AS ZEND EXTENSION,但据我观察这样并不影响xdebug的正常使用。
以上方法在WinXP,Apache2.2,PHP5.2,Xdebug2.0.3下试验成功。
4. PHP ZEND 报错An error occurred Application error
你没有定义路由,其实那不是真正的访问indexAction()因为zf找不到action会在自动指向indexaction()就是这样
5. php zend 乱码
webserver空间没安装ZendOptimizer
6. php中zend_guard的license问题
zend_optimizer.license_path = "D:\php\zendOptimizer\lib"
装完zendOptimizer, 然后把路径指到lib目录下就可以吧, 没亲自试, 你可以试试。
------------------
我也不太清楚,没做过相关的东西。
-------------------
我觉得这种技术很难找到中文资料, 可能会有一些相关的英文开发文档吧, 不过我英文不太好.
7. Error: Missing Dependency: php(zend-abi) = 20060613 is needed by package php-memcache-3.0.4-1.jason.
依你的错误信息应该是你的系统中缺少了 PHP、Zend、PHP-memcache包。
安装时候提示不存在,说明你需要一个一个下载,然后在手动安装。大概是因为你的yum源中不存在这些包,你可以去官方网站去下载相应的包,然后自己手动安装,如果需要数据库,还要下安装Mysql数据库的包
8. zend guard 6.0 加密的php文件,linux服务器上需要装哪个版本的zend才能执行
PHP使用Zend Guard 6.0加密方法讲解(http://www.piaoyi.org/php/PHP-Zend-Guard-encode.html)
更多问题到问题求助专区(http://bbs.hounwang.com/)
9. PHP跟zend是什么关系
PHP 是一门开发语言, zend 是一个适用于 PHP 的开发环境