第一步:安装php5

第二步:打开终端【为来方便,这里使用root用户】,使用CD命令进入到php5源码包的ext目录

第三步:在终端键入以下命令

./ext_skel --extname=extest

我们的扩展库名叫“extest”,此命令执行后会在ext目录新建一个extest目录。

第四步:回到终端,使用CD命令进入extest目录,键入以下命令/var/web/php/bin/phpize

这是站长的phpize的目录,你需要修改成你自己的。运行完之后会在extest目录生成config.m4以及config.w32(windows底下使用),以及configure程序。

双击打开extest目录,打开php_extest.h文件,找到PHP_FUNCTION(confirm_extest_compiled);

在这一行的上面添加PHP_FUNCTION(extest_add);保存后退出。

这里是我们要为extest库编写的add函数到声明。

第五步:打开extest.c文件,找到const zend_function_entry extest_functions[],往下看3行,在PHP_FE_END的上面一行添加PHP_FE(extest_add,   NULL),在文件的最后添加函数实现到代码:

点击(此处)折叠或打开

PHP_FUNCTION(extest_add){
long int a,b,c;
if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"ll",&a,&b )==FAILURE){
return;
}
c=a+b;
RETURN_LONG(c);
}
保存后退出。

第六步:打开config.m4文件,找到
PHP_ARG_ENABLE(caleng_module, whether to enable caleng_module...和
[  --enable-caleng_module           Enable caleng_module support])两行,删除前面的dnl打开。

第七步:回到终端,使用CD命令进入extest目录,键入命令:

./configure --with-php-config=/var/web/php/bin/php-config

make

make install

/var/web/php/bin/php-config这是站长php-config文件的目录,你应该修改成自己的。

编译顺利的话,在extest/moduels目录和/var/web/php/lib/php/extensions/no-debug-non-zts-20090626目录会产生一个extest.so文件。

第八步:打开php.ini,添加extension=extest.so,保存退出。

第九步:如果你用的是apache,重启apache。如果你用的是nginx+php-fpm,需要重启php-fpm。

如何重启php-fpm?站长没有做重启设置,应此只好先杀死php-fpm的进程在重新启动了。

打开/var/web/php/var/log/php-fpm.log,定位到文档最后,查看php-fpm到进程号,我的是2156.

回到终端,使用命令kill 2156杀死php-fpm进程。

然后重启php-fpm,回到终端使用CD命令进入/var/web/php/sbin目录,使用./php-fpm重启php-fpm。

第十步:测试扩展库。新建一个index.php文件,代码如下:

<?php

echo extest_add(1,2);

phpinfo();

?>

 

linux编译php的c扩展的更多相关文章

  1. linux编译php gd扩展

    1 安装gd的依赖包 yum -y install gd gd2 gd-devel gd2-devel zlib freetype 2 安装jpeg: wget http://www.ijg.org/ ...

  2. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  3. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

  4. Linux编译ffmpeg

    Linux编译ffmpeg并转换MP3到AMR AMR格式是智能手机上的常用音频文件格式,比如MP3格式的压缩比大,但是文件比MP3小,所以在移动互联项目中应用比较广泛.去年年底协助联想研究院开发一款 ...

  5. Linux编译内核 Ubuntu18.04 -2020.11.04

    Linux编译内核 Ubuntu18.04 -2020.11.04 关闭虚拟机并备份 首先关闭虚拟机,其次直接找到.vmdk所在目录,并压缩该目录实现备份 下载内核源码 Linux内核官网:https ...

  6. linux编译中的常见问题

    转linux编译中的常见问题 错误提示:Makefile:2: *** 遗漏分隔符 . 停止. 原因makefile中 gcc语句前 缺少一个 tab分割符 错误提示: bash: ./makefil ...

  7. linux下Redis与phpredis扩展安装

    ++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...

  8. 【原创】Linux编译内核

    Linux 编译内核 大致分这几个步骤 1.准备编译工具.内核文件 2.开始编译 3.将编译好的新内核install进系统 4.查看是否成功.   一.准备好必备的库和内核文件   1.添加必备的编译 ...

  9. Linux编译Windows共享目录下代码

    Linux编译Windows共享目录下代码(金庆的专栏)万神服务器代码是跨平台的.平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.开发时,先在Windows上编译测试,再到 ...

随机推荐

  1. RHEL6.7 x64双节点安装Oracle 11g r2 RAC

    基础环境 使用两台HP DL580服务器作为RAC节点,存储使用IBM V7000.具体环境如下: 设备 用途 IP地址 磁盘空间 HP DL580 RAC节点01 RAC01-pub:116.1.1 ...

  2. (转)SQL Server 性能调优(cpu)

    摘自:http://www.cnblogs.com/Amaranthus/archive/2012/03/07/2383551.html 研究cpu压力工具 perfom SQL跟踪 性能视图 cpu ...

  3. linux 怎么完全卸载mysql数据库

    在linux下开发,mysql数据库是经常用到的,对于初学者来说,在linux怎么安装卸载mysql数据库,也许可能比较痛苦,这里简单介绍下,怎么卸载msql数据库. a)查看系统中是否以rpm包安装 ...

  4. Thrift 2中get用法的详细解析

    Thrift2相比于Thrift 1改动较大,这里不去描述改动的地方,但是它的改动确实比Thrift1方便了很多.但是不能理解的是Thrift2网上的资料和文档相当的少,就以Thrift2操作Hbas ...

  5. js打开新页面

    var PostNewPage=function (url, params) { var temp_form = document.createElement("form"); t ...

  6. Python赋值语句与深拷贝、浅拷贝的区别

    参考:http://stackoverflow.com/questions/17246693/what-exactly-is-the-difference-between-shallow-copy-d ...

  7. Google高级搜索语法

    Google高级搜索语法   Google搜索果真是一个强悍的不得了的搜索引擎,今天转了一些 google的高级搜索语法 希望能帮助到大家. 一.allinanchor: anchor是一处说明性的文 ...

  8. angular.js中插值语法和ng-bind以及ng-model的区别

    首先呢,插值语法也就是{{}}和ng-bind基本上是没有区别的. 主要区别在于,使用花括号语法时,在AngularJS使用数据替换模板中的花括号时,第一个加载的页面,通常是应用中的index.htm ...

  9. 实验七 Web应用测试

    实验目的 (1)       了解Web应用测试的特点 (2)       掌握SSH分层单元测试 实验内容 以下题目均在bookstore项目上完成(请先运行数据库文件): 1.编写单元测试用例,对 ...

  10. Qt ffmpeg环境搭建

    ffmpeg下载地址:https://ffmpeg.zeranoe.com/builds/ 版本选择第一个,然后多少位看自己的pc(我的是64),右边对应三个都要下载,Static,Shared,De ...