ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

你能“编译”PHP代码并上传二进制文件,它只能由字节码解释器运行吗?

2019-09-15 12:38:36  阅读:329  来源: 互联网

标签:php bytecode


我知道PHP在服务器上运行之前被编译为字节代码,然后可以缓存该字节代码,这样就不必为每个Web访问重新解释整个脚本.

但是你可以“编译”PHP代码并上传二进制文件,它只能由字节码解释器运行吗?

解决方法:

在提出这个问题之后,Facebook推出了HipHop for PHP,这可能是迄今为止经过最佳测试的PHP编译器(因为它运行了世界上最大的10个网站之一).然而,Facebook停止使用HHVM,这是一个虚拟机,而不是编译器.

除此之外,谷歌搜索PHP编译器提出了许多第三方解决方案.

PeachPie

> PeachPie GitHub
>将PHP编译为.NET和.NET Core
>可以编译成自包含的二进制文件
>在Mac,Linux,Windows,Windows Core,ARM上运行……

Phalanger

> GitHub(下载),Wikipedia
>编译成.NET(CIL)

phc

>编译为原生二进制文件
>现在不太活跃(2014年2月) – 2011年的最后一个版本,2013年夏天的最后一次更改

Roadsend PHP Compiler

> GitHub,GitHub of a rewrite
>使用编译器实现PHP的免费开源实现
>编译到本机二进制文件(Windows,Linux)
> discontinued since 2010 till contributors found – 网站关闭,停留在GitHub上,最后一次更改是从2012年初开始

bcompiler

> PHP的PECL扩展
>实验
>编译为PHP字节码,但可以将其包装在加载PHP解释器的Windows二进制文件中(参见bcompiler_write_exe_footer() manual)
>现在已停止使用(2014年2月) – 2011年的最后一次更改

Project Zero

> Wikipedia,IBM
> WebSphere sMash的变化孵化器
>受IBM支持
>编译为Java字节码
>看起来已经停止了(2014年2月) – 网站倒闭,看起来像2008年和2009年的大炒作

Bambalam

>编译为独立的Windows二进制文件
>二进制文件包含字节码和启动器
>看起来已经停止了(2014年2月) – 2006年的最后一次变化

BinaryPHP

>编译成C
>现在已停止使用(2014年2月) – 2003年的最后一次更改

标签:php,bytecode
来源: https://codeday.me/bug/20190915/1804833.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有