任何方法获得Zend Guard Loader (php 5.3)执行脚本与zendenc52.exe保护



目前PHP 5.3托管环境必须安装和使用"Zend Guard Loader"扩展来处理和执行Zend Guard编码文件。我无法让它执行为Zend Optimizer (PHP 5.2)使用而编码的文件。

有解决这个问题的方法吗?

我不这么认为。我也坚持使用php 5.2,因为那。

如果你想使用"zend Guard Loader"运行zend编码5.2脚本,你需要花更多的钱购买新版本来再次编码脚本....伤心。

对我来说唯一有效的方法是包含php 5.2文件而不是Zend guard消息,当没有Zend guard加载器发现如果条件检查php版本时显示。很脏,但是可以工作,仍然需要有2个文件,但是不需要让加载器在未受保护的代码中切换它们。

要回答编码与运行时在Zend Guard/Optimizer/Loader上下文中-他们应该完全匹配。接受的答案是不正确的-没有调整执行PHP 5.3编码的文件在优化器加载在PHP 5.2。

当你有代码更新时,如果你脚本/批处理你的编码过程,维护2个目标版本是非常容易的。你只需要用zendenc52和zendenc53分别执行一次源代码编码,给它们不同的目标目录。

更多关于这个。PHP 5.3代码与5.2不同,实际上应该有两个不同的分支来匹配这些版本的源代码。旧消息:http://php.net/manual/en/migration53.php

当测试/登台Zend Guard编码的应用程序时,请确保测试了编码的版本(当然,根据需要调试开放源代码)。原因很简单-编码文件有一些处理混淆的数据表开销,并且可能使用一些高级PHP语法更改PHP功能。如果在测试时在编码文件中发现任何问题-很容易找到并修复源。如果您只测试源版本,然后编码并部署给您的客户-结果是不可预测的。

至于部署,当你安装/untar/git/svn部署你的PHP文件时,你可以把PHP的目标版本粘贴到你的发布/下载/代码推送中,这样它们就会安装在正确的版本中,或者在不同的文档根位置部署两个版本,你可以符号链接/重写到正确的守卫应用程序版本,与PHP目标版本5.2或5.3相匹配。

最后但并非最不重要。Zend Guard支持的运行时是Zend Server。它有一个社区版本,任何人都可以在支持的操作系统上免费安装它(或购买许可的组件,如果需要额外的增强和监控),通过DEB/RPM的本机包管理器或安装文件(Windows, Mac,其他不支持本机包管理器的linux)。Zend Server可选的Loader组件将处理编码的应用程序文件,它带有PHP 5.2和5.3分支,因此不需要在PHP上手动安装Zend Optimizer或Loader。当应用程序(编码的和开源的)被正确迁移时,从PHP 5.2升级到5.3是很容易和原生的。

最新更新