你能“编译”PHP代码并上传一个二进制文件,该文件将由字节代码解释器运行吗?
我知道PHP在服务器上运行之前被编译为字节码,然后可以缓存该字节码,这样整个脚本就不必在每次Web访问时重新解释。
但是你能“编译”PHP代码并上传一个二进制文件,该文件将由字节代码解释器运行吗?
我知道PHP在服务器上运行之前被编译为字节码,然后可以缓存该字节码,这样整个脚本就不必在每次Web访问时重新解释。
但是你能“编译”PHP代码并上传一个二进制文件,该文件将由字节代码解释器运行吗?
在提出这个问题之后,Facebook推出了HipHop for PHP,这可能是迄今为止测试最好的PHP编译器(因为它运行着世界上10个最大的网站之一)。然而,Facebook停止了它,转而支持HHVM,它是一个虚拟机,而不是一个编译器。
除此之外,谷歌搜索还发现了许多第三方解决方案。PHP compiler
bcompiler_write_exe_footer()
手册)简短的回答是“不”。
PHP的当前实现是解释型语言的实现。你可以争论任何语言在技术上都可以被解释或编译的事实的理论方面,但就目前而言,当前的实现是这样的,PHP代码需要解释器来运行,解释器管理执行环境。
要回答您关于上传预编译的PHP字节码的问题,这可能是可能的,但是您必须实现一种方法,让PHP解释器读取这样的文件并使用它。由于现有的操作码缓存已经存在,这似乎不是一项可以获得很多回报的任务。