centos 6 下,zephir的安装和使用

zephir或许会开启一个新的PHP编写方式。 在这之前,如果我们要编写php的扩展,一般都是c++/clang/vc等等。 但是现在,我们有了新的选择: zephir.
zephir本身并不是为了替代c++/clang/vc等。 它本质是介于c和php的之间的一个语言,一个桥梁。

下面我们开始安装。 安装环境基于CentOS 6.5, php都是通过yum install安装。 而不是编译安装。
php版本信息:

  1. PHP 5.5. (cli) (built: Dec ::)
  2. Copyright (c) - The PHP Group
  3. Zend Engine v2.5.0, Copyright (c) - Zend Technologies
  4. with Zend OPcache v7.0.3-dev, Copyright (c) -, by Zend Technologies
  5. with Xdebug v2.2.3, Copyright (c) -, by Derick Rethans

安装系统依赖:

  1. yum install wget git autoconf automake libtool gcc-c++
     
安装其他依赖的东西: json-c和re2c
json-c安装:
  1. git clone https://github.com/json-c/json-c.git
  2. cd json-c
  3. ./autogen.sh
  4. ./configure
  5. make
  6. make install

re2c安装:
现在最新的版本是:0.13.6

http://sourceforge.net/projects/re2c/files/re2c/0.13.6/

下载其中的tar.gz文件即可。 (不要下载.zip的文件)

  1. cd ~
  2. wget http://downloads.sourceforge.net/project/re2c/re2c/0.13.7.5/re2c-0.13.7.5.tar.gz
  3. tar zxf re2c-0.13.7.5.tar.gz
  4. cd re2c-0.13.7.5
  5. ./configure
  6. make
  7. make install
安装后,可执行文件re2c会放到/usr/local/bin, 把它链接到/usr/bin
  1. cd /usr/bin
  2. ln -s /usr/local/bin/re2c re2c
然后在任何地方执行re2c -v, 应该输出:
  1. [root@QXDev2 ~]# re2c -v
  2. re2c 0.13.
好了,基本东西就绪, 那么我们开始进入整体: zephir的安装。
  1. git clone https://github.com/phalcon/zephir.git
  2. cp -R zephir /usr/local/zephir
  3. cd /usr/local/zephir
  4. ./install

得到提示如下:

  1. Parser statistics: terminals, nonterminals, rules
  2. states, parser table entries, conflicts

这样就表明正确了。
下面让我们在任何地方都可以使用zephir命令

  1. cd ~
  2. vi .bashrc
  3. #在最后一行添加:
  4. export PATH=$PATH:/usr/local/zephir/bin
  5. #保存
  6. source .bashrc
  7. zephir help
这个时候应该可以看到:
  1. _____ __ _
  2. /__ / ___ ____ / /_ (_)____
  3. / / / _ \/ __ \/ __ \/ / ___/
  4. / /__/ __/ /_/ / / / / / />
  5. /____/\___/ .___/_/ /_/_/_/
  6. /_/
  7.  
  8. Zephir version 0.2.2a
  9.  
  10. Usage:
  11. command [options]
  12.  
  13. Available commands:
  14. generate Generates C code from the Zephir code
  15. full-clean Cleans the generated object files in compilation
  16. compile Compile a Zephir extension
  17. help Displays this help
  18. install Installs the extension (requires root password)
  19. init [namespace] Initializes a Zephir extension
  20. clean Cleans the generated object files in compilation
  21. version Shows Zephir version
  22.  
  23. Options:
  24. -fno-([a-z0-\-]+) Setting options to Compiler
  25. -W([a-z0-\-]+) Setting warning options to Compiler
到此,我们的安装就结束了。
具体使用请查看后续文章。
 
zephir 英文文档站点:http://zephir-lang.com/types.html

centos 6 下,zephir的安装和使用的更多相关文章

  1. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  2. CentOS 6 下RPM方式安装MySQL5.6

    CentOS 6 下RPM方式安装MySQL5.6 1. 下载Linux对应的RPM包,如:CentOS6.7_64对应的RPM包,如下:[root@mysql ~]# ll总用量 113808-rw ...

  3. Centos系统下Docker的安装

    一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...

  4. centOS Linux下用yum安装mysql

    centOS Linux下用yum安装mysql      第一篇:安装和配置MySQL   第一步:安装MySQL   [root@192 local]# yum -y install mysql- ...

  5. 基于CentOS 7下最小化安装的操作系统搭建Zabbix3.0环境

    环境说明 系统版本:CentOS Linux release 7.3.1611 (Core) 内核版本:3.10.0-514.el7.x86_64 Httpd版本:Apache/2.4.6 (Cent ...

  6. Linux(CentOS 7下httpd的安装)

    Linux(CentOS 7下httpd的安装) 自己是个linux小白.最近几天在学linux,看到视频教程中安装源码包httpd所以自己想试一试,安装过程中有很多的错误,在网上找了很久也没找到,要 ...

  7. CentOS 7下源码安装MySQL 5.6

    本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...

  8. Centos 7下Nagios的安装及配置

    简介 Nagios 是一款自动化运维工具,可以协助运维人员监控服务器的运行状况,并且拥有报警功能.本文章将介绍其安装方法和详细的配置方法. nagios 监控服务应用指南 本地资源:负载,CPU,磁盘 ...

  9. CentOS 系统下使用 yum 安装 Redis

    本文主要介绍在 CentOS 7 系统下使用 yum 安装 Redis 的过程. 更改 yum 源 将 Centos 的 yum 源更换为国内的阿里云源. 首先备份你的原镜像文件,保证出错后可以恢复: ...

  10. CentOS 7 下Docker的安装

    笔者是刚入行1年的新鸟,近期公司开始推Docker技术.这个系列的文章都是基于CentOS7系统下进行讲解的. Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及 ...

随机推荐

  1. [Selenium]验证点了某个Button之后无反应

    期望:点了某个Button,无反应 问题:怎么去验证无反应 WebElement webElement = page.getICORemove(); SeleniumUtil.hover(page.g ...

  2. jsoup Java HTML解析器:使用选择器语法来查找元素

    jsoup Java HTML解析器:使用选择器语法来查找元素 使用选择器语法来查找元素 问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select( ...

  3. 2018.08.06bzoj1251: 序列终结者(非旋treap)

    传送门 平衡树板子题. 直接fhqtreap打区间标记就行了. 代码: #include<bits/stdc++.h> #define N 50005 using namespace st ...

  4. [转]Go与C语言的互操作

    Go有强烈的C背景,除了语法具有继承性外,其设计者以及其设计目标都与C语言有着千丝万缕的联系.在Go与C语言互操作(Interoperability)方面,Go更是提供了强大的支持.尤其是在Go中使用 ...

  5. 一致性哈希Java源码分析

    首次接触一致性哈希是在学习memcached的时候,为了解决分布式服务器的负载均衡或者说选路的问题,一致性哈希算法不仅能够使memcached服务器被选中的概率(数据分布)更加均匀,而且使得服务器的增 ...

  6. UVaLive 2796 Concert Hall Scheduling (最小费用流)

    题意:个著名的音乐厅因为财务状况恶化快要破产,你临危受命,试图通过管理的手段来拯救它,方法之一就是优化演出安排,既聪明的决定接受或拒绝哪些乐团的演出申请,使得音乐厅的收益最大化.该音乐厅有两个完全相同 ...

  7. Word图片上传控件(WordPaster)更新-2.0.15版本

    更新说明: 1.   增加对webp图片的支持,支持微信公众号图片的下载. 效果参考:http://www.ncmem.com/doc/view.aspx?id=9761f8ce4fe04d0ab0f ...

  8. Python + Robotframework + Appium 之APP自动化测试实践(一)

    前面的文章已经介绍了Robotframework+Appium的安装及小试牛刀(For Android) 下面来个简单的实践,话不多说,还以是计算器为例,直接上代码,详情如下: *** Setting ...

  9. SpringMvc中controller之间的方法调用

    方法一, return new ModelAndView("redirect:"+新地址); 方法二, response.sendRedirect(新地址); return nul ...

  10. 相聚 桂林电子科技大学第三届ACM程序设计竞赛

    题目链接:https://ac.nowcoder.com/acm/contest/558/D 就是求有多少块区域,用DFS就可以解决,一遇到一个1就从其开始深搜,将其所在的区域块覆灭(变为0),再遇到 ...