Roadsend PHP-开源的PHP代码编译器
Roadsend PHP 是一个开源的php compiler, 可以将你的PHP代码编译成原生的二进制代码, 无需分发php源码.
Roadsend 可以将你的PHP web项目编译成FastCGI的可执行文件,这样apache,nginx可以通过fastcgi方式和编译后的
程序进行通讯. 看起来,PHP 编写的程序可以和C编写的程序有同样的待遇了? 因为都可以生成原生代码么,再也不需要在服务器上安装PHP了?
等等, 没有那么美好. 的确,经Roadsend编译后, 可以不需要PHP解释器,甚至它自带了一个micro-server, 在开发环境下,连web server都不用装. 但是, Roadsend仍然有很多限制:
1. 它的编译器依赖bigloo工作,甚至可以将其看作bigloo的前端. 它是通过bigloo中间代码,然后进一步用gcc联编后生成的二进制文件. 因此, 速度上和纯C的代码仍然有差别,在某些情况,如非静态编译,需要运行时动态include php文件的时候,速度和普通php文件相差无几
2. 支持的extension有限,目前只支持 curl – gtk – mysql – pcre – posix – standard – xml 这几个. 其他如常用的memcached,gd等都不支持.
尽管原生代码编译器的名号有些缺憾,但是, 如果有兴趣的朋友还是可以试试,体验一下. 对了,最大的好处就是编译后的PHP代码是无法还原了,当你不希望别人看到你的源码的时候,倒是个不错的办法.
Roadsend PHP 目前支持Windows, Linux ,Mac OSX . 最新版也支持Linux AMD64位.
你可以从其官方站点下载:
http://www.roadsend.com/
相关文章:

Android安卓开发中图片缩放讲解
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制&#x…

a标签是什么意思 怎么使用?
转自:https://www.imooc.com/qadetail/190881 (1) a标签的作用:超链接,用于跳转到别的网页。 (2) a标签的用法:<a href"网址" target"_blank" >到百度首页</a> 其中target是a标签的一个属性&…

【Java】Lucene检索引擎详解
基于Java的全文索引/检索引擎——Lucene Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。 Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全…

大手笔 !Julia Computing 获 2400 万美元融资,前 Snowflake CEO 加入董事会
整理 | 梦依丹出品 | CSDN(ID:CSDNnews)2021 年 7 月 19 日,由 Julia 高性能编程语言创始人成立的 Julia Computing 公司完成了 2400 万美元的 A 轮融资,这笔融资由 Dorilton Ventures 领投,Menlo Ventures…

(Mirage系列之六)在Mirage里使用Collection
在Mirage中,Collection是包含一个或多个CVD的集合。 Collection的主要作用是简化操作。比如我有一百个终端设备需要分配基础层,如果没有Collection,那么管理员需要逐个点击。这是无趣的重复劳动。有了Collection,只要选择一个Coll…

WAS服务器负载测试软件导读
转帖:出处未知 你的Web服务器和应用到底能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的。本文介绍了Microsoft为这个目的而提供的免费工具WAS及其用法。另外&#…

深度学习实现场景字符识别模型|代码干货
作者|李秋键出品|AI科技大本营(ID:rgznai100)# 前言 #文字是人从日常交流中语音中演化出来,用来记录信息的重要工具。文字对于人类意义非凡,以中国为例,中国地大物博,各个地方的口音都不统一,但是人们使用同一套书写体…

SQL Server 一些重要视图3
1、 sys.dm_tran_locks; 为每一把锁返回一行、request_session_id 可以与sys.dm_tran_session_transactions \sys.dm_exec_connections相关联。 request_status 查看锁的分配情况 2、 sys.dm_os_waiting_tasks; 为每一个等待的任务返回一行、blocking_session_id标记是因为谁而…

Linux下将Mysql和Apache加入到系统服务里的方法
Apache加入到系统服务里面: cp /安装目录下/apache/bin/apachectl /etc/rc.d/init.d/httpd 修改httpd 在文件头部加入如下内容: ### # Comments to support chkconfig on RedHat Linux # chkconfig: 2345 90 90 # description:http server ### 保存 在打入 #chkconf…

int、bigint、smallint 和 tinyint
int、bigint、smallint 和 tinyint使用整数数据的精确数字数据类型。 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,6…

阿里技术文档:Redis+Spring全家桶+Dubbo精选+高性能+高并发
最近花了很长的时间去搜罗整理Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档。今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题了 直接打开文档学一学就好…

SDN:软件定义网络
近期高级网络课的小组任务是在老师给定的范围内自选方向主题研究并做展示报告。我们组选了sdn。原以为这东西会是工业界无人问津的概念化产品,Google了一下却发现事实上sdn挺火的,因为它可能带来的可扩展性,一些大互联网企业也在開始涉足相关…

Linux之文本处理
1 cut:按某种方式对文件进行分割然后输出 选项:-b 按字节选取 -d 自定义分隔符 -f 和-d一起使用,指定哪个区域或字段 [rootlocalhost ~]# cat /etc/passwd | cut -d : -f 1 #以:为分隔符,打印第一个字段 […

Yahoo javascript 开源界面库YUI 和EXT
清清月儿整理 [yui][译]Yahoo!User Interface Libray 介绍 Yahoo! User Interface Library(简称yui) 是一个使用JavaScript编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui也包含几个核心的CSS文件。yui中的所有组件已经以开源的形式发布…

芯片开发语言:Verilog 在左,Chisel 在右
来源 | 老石谈芯在最近召开的RISC-V中国峰会上,中科院计算所的包云岗研究员团队正式发布了名为“香山”的开源高性能处RISC-V处理器。前不久我有幸和包老师就这个事情做了一次深度的交流,我们聊了关于RISC-V、还有“香山”处理器的前世今生。包老师也分享…
1.1GTK+ 的简单程序HelloWorld
1.1GTK 的简单程序HelloWorld 编译执行如图所看到的:

struts2 validate验证
转自:https://blog.csdn.net/houpengfei111/article/details/9038233 自定义拦截器 要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口: [java] view plaincopypublic class PermissionInterceptor implements Interceptor { …

PHP中文乱码
页面顶端加 <?php header("content-Type: text/html; charsetgbk"); ?>

收藏 | 提高数据处理效率的 Pandas 函数方法
作者:俊欣来源:关于数据分析与可视化前言大家好,这里是俊欣,今天和大家来分享几个Pandas方法可以有效地帮助我们在数据分析与数据清洗过程当中提高效率,加快工作的进程,希望大家看了之后会有收获。首先导入…

如何让两个div在同一行显示?一个float搞定
最近在学习div和css,遇到了一些问题也解决了很多以前以为很难搞定的问题。比如:如何让两个div显示在同一行呢?(不是用table表格,table对SE不太友好)其实,<div> 是一个块级元素,…

使用sudo进入root权限,以及防止root密码被恶意篡改
一、前言 sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root用户的登陆和管理时间,提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。 而防止root用户密码被恶意更改,主要是用户基本上…

赠书 | 干货!用 Python 动手学强化学习
01了解强化学习新闻报道中很少将强化学 习与机器学习、深度学习、人工智能这些关键词区分开来,所以我们要先介绍什么是强化学习,再讲解其基本机制。强化学习与机器学习、人工智能这些关键词之间的关系;强化学习相对于其他机器学习方法的优点和…

php如何调用c接口无错版
1.首先是要安装好PHP 2.进入PHP的下载解压目录下的ext目录 #cd /root/php-5.3.6/ext #./ext_skel --extnamehmc 说明: ./ext_skel --extnamemodule_name module_name是你自己可以选择的扩展模块的名字,例如我选择的hmc。执行工具后会自动在ext目录下建…

onchange事件只生效一次的问题
今天遇到一个file表单元素,对onchange事件的响应问题,发现仅响应一次,网上查到解决方法,在这里转载一下文件选择框的onchange事件只在第一次改变时生效,以后再选择文件不会触发onchange事件。解决方法1:用j…

WSFC2016 SMB多通道与网络调校
SMB多通道是微软Windows Server 2012时新增的一项功能,微软SMB3.0协议的一部分,主要用于SMB文件传输时,检测到多张可通信网卡,自动使用多张网卡进行传输,提高吞吐量,链路容错。 Windows Server 2012和之前的…

一个常用的正则表达验证类
这是 風語深蓝很早以前写的一个正则表达式验证工具类,包含了一些常见的校验和支持自定义的正则表达式匹配,可以选择完全匹配,也可以获取所有匹配项。曾用它仿造Eclispe下的正则表达式插件写过一个工具。因为最近突然有几个朋友都在问这方面的…

Signal和slot的声明和连接
信号(SIGNAL)和槽(SLOT)是Qt编程的一个重要部分。这个机制可以在对象之间彼此并不了解的情况下将它们的行为联系起来。Signal和slot的声明(一)在Qt程序设计中,凡是包含signal和slot的类中都要加上Q_OBJECT的定义,下面的例子给出了…

重磅!深度学习知识总结和调参技巧开放下载了
近年来,人工智能正在进入一个蓬勃发展的新时期,这主要得益于深度学习和CV领域近年来的发展和成就。在这其中,卷积神经网络的成功也带动了更多学术和商业应用的发展和进步。为了避免“内卷”,更多人选择学习进阶,但是仍…

Oracle优化器:星型转换
Oracle 8i中引入了星型转换(star transformation)的优化器新特性以便更有效地处理星型查询。星型查询语句多用于基于星型模型设计的数据仓库应用中。星型模型的称谓源于该种模型以图形化表现时看起来形似一颗海星。这颗星的中央会由一个或多个事实表(fact tables)组成ÿ…

php安装模式mod_php和Fastcgi的选择与对比
安装php又面临到了模式的选择,以前都是选择mod_php模式,因为这样安装比较方便哈,今天突然关心起FastCGI这种模式,败毒了一把,找到了一些关于mod_php和Fastcgi的选择与对比这方面的讨论,现在发出来留一个记号…