编译PHP-操作代码并执行操作码

PHP通常在执行时由Zend引擎编译为操作码.

每次可以使用像APC这样的操作码缓存将操作码保存在共享内存中并重复使用时,跳过编译.

好的,现在似乎还没有解决方案只是将PHP编译为操作码并使用它.与您使用Java的方式类似.

但为什么?我想知道这个b / c这是一个非常明显的想法,所以我猜这是有原因的.

编辑:

核心问题是:

不会让PHP编译使操作码缓存变得多余吗?

反对它的唯一“理由”就是你不能只在生活系统上修复一些东西……这无论是坏的坏习惯.

你有一个理由反对它.

另一个非常重要的一点是,如果将编译与运行时分开,无论是在每次运行的时间,还是在运行的硬件方面,都会很快遇到复杂的依赖问题 – 当您尝试运行时会发生什么PHP 5.1在PHP 5.3运行时生成的操作码?

它还使代码调试更加困难 – 因为调试器必须将操作码映射回源代码.

但是,一个你似乎没有问过的非常重要的问题,更不用说回答是预生成操作码有什么好处?

在运行时之前编译操作码是否比缓存操作码有明显的好处?差异将是不可测量的小.

当然,HipHop的存在理由是本地编译的PHP代码runs faster而不是PHP,操作码缓存是以某些功能为代价的.但那是完全不同的东西.

你认为在服务器上只有操作码可以提高安全性(通过默默无闻)吗?

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...