我知道PHP在服务器上运行之前被编译为字节代码,然后可以缓存该字节代码,这样就不必为每个Web访问重新解释整个脚本.
但是你可以"编译"php并上传一个二进制文件,它只能由字节码解释器运行吗?
Fra*_*mer 231
在提出这个问题之后,Facebook推出了HipHop for PHP,这可能是迄今为止经过最佳测试的PHP编译器(因为它运行了世界上最大的10个网站之一).然而,Facebook停止使用HHVM,这是一个虚拟机,而不是编译器.
除此之外,谷歌搜索引发PHP compiler
了许多第三方解决方案.
bcompiler_write_exe_footer()
手册)zom*_*bat 22
最简洁的答案是不".
PHP的当前实现是解释语言的实现.您可以论证任何语言在技术上可以被解释或编译的事实的理论方面,但就目前而言,当前的实现使得PHP代码需要运行解释器,并且解释器管理执行环境.
要回答关于上传预编译的PHP字节码的问题,这可能是可能的,但您必须实现PHP解释器读取此类文件并使用它的方法.现有的操作码缓存已经存在,它似乎不是一项可以获得丰厚回报的任务.
Ale*_*x C 16
自从第一次提出这个问题以来,从"不"到"不是"这个问题的答案发生了变化.
http://github.com/facebook/hiphop-php/wiki
Hip Hop for PHP是一个编译器,它使用PHP代码并将其转换为高度优化的C++显然,某些功能不受支持(例如'explode')
我在寻找有关如何实施HipHop的更多信息的过程中发现了这个问题,并认为我会说出来:)
然而,自2013年以来,Facebook不再使用它,并且已经停止使用HHVM,而HHVM不是编译器:https://en.wikipedia.org/wiki/HipHop_for_PHP
Gor*_*don 11
还有
目的
- 在专有的PHP应用程序中编码整个脚本
- 在专有PHP应用程序中编码某些类和/或函数
- 能够生成可以在客户端桌面上使用的php-gtk应用程序,而无需php.exe.
- 进行PHP到C转换器的可行性研究
该扩展可从PECL获得.
归档时间: |
|
查看次数: |
225726 次 |
最近记录: |