Zend Optimizer 和 Zend Guard Loader 有啥区别?他们实际上做了啥?
Posted
技术标签:
【中文标题】Zend Optimizer 和 Zend Guard Loader 有啥区别?他们实际上做了啥?【英文标题】:What's the difference between Zend Optimizer and Zend Guard Loader? And what do they actually do?Zend Optimizer 和 Zend Guard Loader 有什么区别?他们实际上做了什么? 【发布时间】:2014-02-05 23:14:27 【问题描述】:我有一个应用程序需要 Zend Optimizer 才能运行,因为它以某种方式进行了编码。在 Zend 官方网站上搜索 Zend Optimizer 会导致 Zend Guard Loader。这些程序有什么区别?有没有办法通过 Ubuntu 中的 APT 或通过 PEAR 或其他方式安装其中一个?其中之一是否排除使用 php 5.5?
【问题讨论】:
Zend Optimizer+ 在 2013 年 3 月中旬重命名为 Zend Opcache。顾名思义,它是一个缓存\优化器,不要与作为编码器的 Guard 混淆 写到我需要一个 Zend Optimizer 来运行这个 CMS,因为它以某种方式进行了编码。当我运行它时,我看到一些编码错误的代码会自动重新加载。 Zend Opcache 是否足以运行使用 Zend 编码的此类应用程序? 我也很想知道这个问题的答案。 【参考方案1】:测试加载器的执行对我来说没有任何速度提升..
Zend Loader 打乱一个 php 文件,使其不可读,并绑定您使用与创建编码文件时相同的 PHP 版本号,这意味着您无法在不重新编码所有 php 文件的情况下从 php 5.3 升级到 5.4,如果您无权访问原始 .php 文件,这真的很痛苦。
具有文件编码的软件包不再是开源的,并且使您依赖于它们的创建者/开发者,请注意,除非您的应用程序升级,否则您的服务器可能不会升级。
【讨论】:
【参考方案2】:来自 Zend Optimizer+ / Zend OPcache 源README:
Zend OPcache 通过操作码缓存和 优化。它通过存储预编译脚本来提高 PHP 性能 共享内存中的字节码。这消除了从 磁盘并在将来访问时对其进行编译。此外,它适用于一些 使代码执行速度更快的字节码优化模式。
来自 Zend Guard download page:
Zend Guard Loader 是一个免费的应用程序,它运行使用 Zend Guard 编码的文件并提高 PHP 应用程序的整体性能。
Zend Guard Loader 仅适用于 PHP 5.3 和 5.4。在 PHP 5.3 之前,运行时解码 was a part of the Zend Optimizer。从 PHP 5.3 开始,解码功能从优化器中分离出来并进入防护加载器。
Zend Guard 目前似乎不支持 PHP 5.5。
【讨论】:
没有 Zend Guard Loader 的 Zend Optimizer 本身是什么?是以前版本的 Zend Optimizer+ 吗? Zend Optimizer+ 在 2013 年 3 月更名为 Zend OPcache (github.com/zendtech/ZendOptimizerPlus/commit/…)。我不确定,但是当 Zend Guard Loader 被拆分时,Zend Optimizer 似乎变成了 Zend Optimizer+。以上是关于Zend Optimizer 和 Zend Guard Loader 有啥区别?他们实际上做了啥?的主要内容,如果未能解决你的问题,请参考以下文章
Linux(centos7)如何安装Zend Optimizer Zend Guard Loader
Zend Optimizer not installed可能原因及解决方法