php扩展编写

PHP

#扩展2012-04-26 17:18

现在写个简单的 helloworld

1 获取php源码包解压

wget http://

tar

2 进入php源码包ext 目录

cd php-5.2.14/ext

3 生成扩展框架

./ext_skel --extname=wang

实例:

--------------

[root@domain09 ext]# ./ext_skel --extname=wang

Creating directory wang

Creating basic files: config.m4 config.w32 .cvsignore wang.c php_wang.h CREDITS EXPERIMENTAL tests/001.phpt wang.php [done].

To use your new extension, you will have to execute the following steps:

1.  $ cd ..

2.  $ vi ext/wang/config.m4

3.  $ ./buildconf

4.  $ ./configure --[with|enable]-wang

5.  $ make

6.  $ ./php -f ext/wang/wang.php

7.  $ vi ext/wang/wang.c

8.  $ make

Repeat steps 3-6 until you are satisfied with ext/wang/config.m4 and

step 6 confirms that your module is compiled into PHP. Then, start writing

code and repeat the last two steps as often as necessary.

------------------------------------------------------------------

这个命令会在php-5.2.14/ext目录里面生成 wang目录 并在该目录生成一些文件 其中用到的 是3个文件  一个是config.m4 一个是php_wang.h  一个是 wang.c

实例:

------------------------------------------------------

[root@domain09 wang]# ll

total 64

-rw-r--r-- 1 root root 1975 Jan 20 09:59 config.m4

-rw-r--r-- 1 root root  282 Jan 20 09:59 config.w32

-rw-r--r-- 1 root root    4 Jan 20 09:59 CREDITS

-rw-r--r-- 1 root root    0 Jan 20 09:59 EXPERIMENTAL

-rw-r--r-- 1 root root 2666 Jan 20 09:59 php_wang.h

drwxr-xr-x 2 root root 4096 Jan 20 09:59 tests

-rw-r--r-- 1 root root 5133 Jan 20 09:59 wang.c

-rw-r--r-- 1 root root  496 Jan 20 09:59 wang.php

------------------------------------------------------------

编辑 这三个文件

vi config.m4

把下面这两句前面的的dnl去掉,保存

dnl PHP_ARG_ENABLE(wang, whether to enable wang support,

dnl [  --enable-wang           Enable wang support])

vi php_wang.h

找到PHP_FUNCTION(confirm_wang_compiled);    /* For testing, remove later. */

,新增一行:

PHP_FUNCTION(wang_test);

保存

vi wang.c

代码后面加上你的c代码

比如

PHP_FUNCTION(wang){

RETURN_STRING("hello world! wangchenglin",1);

}

然后开始编译

[root@domain09 wang]# phpize

[root@domain09 wang]# ./configure --with-php-config=/usr/local/ku6/php/bin/php-config

[root@domain09 wang]# make

然后 wang/modules/下会生成一个wang.so

cp 到php的extensions目录  然后 vi php.ini 加上

extension = wang.so

重启php

phpinfo();

echo wang();

?>

相关文章

在哪里编写写php,php扩展编写相关推荐

  1. Microbit扩展编写

    开发环境准备 (1)安装node和git (2)安装PXT(Programming eXperience Toolkit)工具 npm install -g pxt (3)安装工具链(比较耗时) px ...

  2. 用c语言编程序输入一个正整数,编写一个程序,输入一个正整数n(假设n7),求1!+2!+3!+4!+……+n!...

    编写一个程序,输入一个正整数n(假设n<7),求1!+2!+3!+4!+--+n!以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一 ...

  3. php5.6扩展编写,php 5.6版本中编写一个PHP扩展的简单示例

    php 5.6版本中编写一个PHP扩展的简单示例 这篇文章主要介绍了php 5.6版本中编写一个PHP扩展的简单示例,本文给出扩展实现代码.编译方法.配置方法和使用例子等内容,需要的朋友可以参考下 有 ...

  4. PHP扩展编写第一步:PHP和Zend介绍

    原文地址:http://weizhifeng.net/write-php-extension-part1.html GDC注:该篇文章绝对是PHP扩展开发的首选入门学习资料.非常好! 介绍 如果你在读 ...

  5. PHP扩展编写、PHP扩展调试、VLD源码分析、基于嵌入式Embed SAPI实现opcode查看

    catalogue 1. 编译PHP源码 2. 扩展结构.优缺点 3. 使用PHP原生扩展框架wizard ext_skel编写扩展 4. 编译安装VLD 5. Debug调试VLD 6. VLD源码 ...

  6. PHP底层原理分析和底层扩展编写

    运行原理  http://www.phpchina.com/article-40203-1.html PHP底层开发 可以理解为就是C的开发,那么简单地说如果我们要查看某个PHP函数的底层实现怎么看呢 ...

  7. 扩展编写jquery插件的方法

    比如要扩展验证功能(jquery.validate.js)中的 messages: { required: "This field is required.", remote: & ...

  8. CUDA、MPI和SU混编,MakeFile文件的编写

    本人研究地震勘探的全波形反演,最近在用CUDA+MPI加速反演过程. 写代码过程中最关键的是Makefile文件的编写,也是最难的.下面给出基于SU(Seismic Unix)的CUDA+MPI开发过 ...

  9. 实时音频编解码之八 频带扩展

    本文谢绝任何形式转载,谢谢. 1.4.8 频带扩展 在线性预测应用中,由于极点过于靠近单位圆,合成滤波器可能处于临界稳定的状态,在定点实现中这一问题更加严重,定点的量化和计算中的精度损失可能使得临界稳 ...

最新文章

  1. matlab估计arma残差,写给你的金融时间序列分析:补完篇
  2. 深圳大学计算机软件学院明仲,附件一-深圳大学计算机与软件学院.doc
  3. 关于node js和 npm 版本不匹配的情况
  4. tf.argmax tf2版本
  5. 载:看了你能懂几个?
  6. 单一职责原理讲解coding
  7. MySQL启动出现The server quit without updating PID file错误解决办法
  8. MessagePack简介及使用:一种有效的二进制序列化格式
  9. Debian - RAID5搭建(热备)
  10. [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能
  11. 我和Linux,不得不说的故事
  12. IDEA+Java+SSM+Mysql+Bootstrap+Maven实现网上书城系统
  13. win10新版蓝牙驱动没有电源管理问题
  14. input 文件提交 按钮制作
  15. 【专升本计算机】经典Office 2003专升本复习题(Word、Excel、PowerPoint)
  16. iOS APP 反编译
  17. C# 任意开次方,次幂, 开平方,开三次方,平方根, 三次方根
  18. 图像拼接stitch
  19. IBTrACS Technical Documentation
  20. 京东股权众筹平台的玩法和价值

热门文章

  1. mac忘记MySQL初始密码
  2. mysql创建表语句和修改表语句
  3. html块状元素和内联元素_HTML中的内联元素和块元素-解释
  4. javascript布尔值_JavaScript布尔值通过上法庭进行解释
  5. 数据结构:二叉排序树
  6. python给excel文件加密码,并重新生成文件
  7. flask 框架第一天学习笔记
  8. ASP.NET 服务器部署IIS程序池进程标示配置要和SQL SERVER一致,否则不能拽出数据
  9. Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一)
  10. 7805引脚图及稳压电路图资料