php module 学习之(一) php module 初探

原创 2004年10月20日 01:31:00
原来 写php module 也并非很困难的事儿,其中参考的文章有: 编写自己的php扩展函数 zend manual
本文主要说一下 编译过程
1 找到php的源代码,解压缩(如果已经安装的使用原来的安装源代码)

2 使用 工具 ”ext_skel“ 初始化 module的代码,

这个工具 为你写好了,一些必要的代码. 工具位置:{phpsrc} /ext/ext_skel 使用方法 : ext_skel --extname=模块名称 首先进到 {phpsrc} /ext/ 目录, 之后执行
-------------
./ext_skel --extname=my_module
-------------
该工具会为你在 ext/ 下创建一个与模块名称相同的目录,并创建一些相关代码。 3 修改 config.m4 文件
文件位置:{phpsrc} /ext/模块名称/config.m4
修改方法: 去掉 和 模块相关的 几行注释(3行) ( 将 dnl去掉,可选with,enable,我选的是with,因为字母少:P)

4 修改 生成代码,创建自己的 函数
这部分怎么修改 可以参考 zend manual 来制作自己的功能函数
我添加了 一个函数 weiping(); 输出 “welcome to my homepage: http://www.wmsp.org
具体做法 在Yorgo Su 的文章中有详细说明

5 返回 {phpsrc} 运行工具 buildconf
有时可能会用 buildconf --force 来强制执行

6 configure 重新配置
./configure --with-模块名称

7 make
不用多说了 , 打make就行

8 测试
写一个你模块中的测试函数,然后用 刚编译好的 php 来执行

9 重新编译apache,加入 新的php模块 libphp4.a


下一篇: php module 学习之(二) zend 引擎分析(待续)

相关文章:
config.m4
buildconf

php编译完成后,module追加编译进php

# 如果在编译的时候忘记添加某些模块,可以使用这种办法来重新编译添加! # 首先,进入PHP目录(未编译)的扩展目录 cd /home/soft/php-5.2.14/ext/ftp/ # 调用php...
  • liuensong
  • liuensong
  • 2014年01月08日 22:59
  • 1332

debian下安装php的一些扩展geoip,mongo,redis,libevent,proctitle,inotify,pcntl,uv,yaf

因为项目的关系,需要安装一些新的扩展 debian xfce 7.2 x64   下面3个都是通过apt-get安装的。 PHP 5.4.4-14+deb7u5 (cli) nginx1.2.1 ap...
  • rainysia
  • rainysia
  • 2013年10月17日 18:20
  • 6031

在linux中使用phpize安装php扩展模块

linux系统中,php安装成功后,在bin目录下会生成一个名叫phpize的可执行脚本,这个脚本的用途是动态安装php扩展模块。 使用phpize脚本安装php扩展模块的好处:在安装php时没有安装...
  • haiqiao_2010
  • haiqiao_2010
  • 2015年05月26日 11:46
  • 17632

php module 学习之(一) php module 初探

原来 写php module 也并非很困难的事儿,其中参考的文章有: 编写自己的php扩展函数 zend manual 本文主要说一下 编译过程1 找到php的源代码,解压缩(如果已经安装的使用原来的...
  • www007www
  • www007www
  • 2004年10月20日 01:31
  • 3616

windows下PHP7安装方法(ts版和nts版)

windows下PHP7的安装方法
  • aanxiaoran
  • aanxiaoran
  • 2015年12月25日 10:28
  • 4169

PHP之MODULE学习笔记(二)

原文地址:http://blog.sina.com.cn/s/blog_48835ef9010003ho.html PHP之MODULE学习笔记(二) 在PHP得MODULE当中有三种扩展方式...
  • lltaoyy
  • lltaoyy
  • 2017年05月02日 21:43
  • 190

PHP Warning: PHP Startup: redis: Unable to initialize module

# php -v PHP Warning: PHP Startup: fileinfo: Unable to initialize module Module compiled wi...
  • zhezhebie
  • zhezhebie
  • 2017年05月26日 10:54
  • 1575

php 论坛的安装

Windows 2000/XP/2003 下 IIS/Apache+PHP+MySQL+Zend Optimizer+phpMyAdmin安装配置一、软件准备:Apache(2.0.52):     ...
  • wsp1
  • wsp1
  • 2005年02月22日 13:21
  • 1097

php7在windows下的安装

1、  下载apache2.4.16(最新版) 32位下载,64位下载 下载完成后,解压后进入文件目录下,打开命令提示符,输入httpd.exe  –k install,完成apache的...
  • moonpure
  • moonpure
  • 2016年08月24日 17:01
  • 1889

PHP Startup redis: Unable to initialize module

最近在做php连接redis的实验,遇到一个问题语法是php代码直接使用php命令来测试是没有问题的。使用lnmp环境也是没有问题的,但是lamp就是不可以,最后查看http的日志终于找到问题所在了。...
  • longyinyushi
  • longyinyushi
  • 2016年04月25日 00:11
  • 4475
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: php module 学习之(一) php module 初探
举报原因:
原因补充:

(最多只允许输入30个字)