文档章节

linuxdeepin(ubuntu)下php扩展开发

wankaiming
 wankaiming
发布于 2012/12/28 16:17
字数 402
阅读 635
收藏 4

1.首先安装好php运行环境
安装apache
apt-get install apache2
安装php
apt-get install libapache2-mod-php5 php5
安装php扩展
apt-get install php5-gd php5-mysql
安装mysql
apt-get install mysql-server mysql-client
安装phpmyadmin
apt-get install phpmyadmin
建立软链接
ln -s /usr/share/phpmyadmin /var/www
重启apache服务
service apache2 restart
网站跟目录设置为权限可写
sudo chmod 777 /var/www    


2.下载php源代码 
1)先使用phpinfo查看php版本
2)根据版本号,在配 http://php.net/releases/ 上面下载对应版本的源代码(我的版本是php5.3.10)
3)解压源代码 tar jxvf FileName.tar.bz2 (FileName是你下载的文件名称)


3.生产扩展框架
1) cd php-5.3.10/ext/
2) ./ext_skel --extname=test (test是你扩展的名字)
3)cd test/ (进入生成的文件夹)
4) vim config.m4
把这些文字的dnl删除
PHP_ARG_ENABLE(test, whether to enable test support,
Make sure that the comment is aligned:
[  --enable-test           Enable test support])


4.编译安装
1) /usr/bin/phpize
2) ./configure
3) make
4) sudo make install
5) 在/etc/php5/cli/php.ini(命令行php的配置,可以使用 php -m|less 里找到) 和 /etc/php5/apache2/php.ini(web的配置,可以在 phpinfo 里找到) 里面加入 extension = test.so
6) service apache2 restart


5.在web目录下面建立test.php,加入以下代码
<?php
echo confirm_test_compiled("Hello");
?>


如果出现Congratulations! You have successfully modified ext/test/config.m4. Module Hello is now compiled into PHP.
说明扩展已经制作成功了。


6.如果需要进一步来加强自己扩展的功能,主要是编辑 php_test.h 和 test.c,最主要实现功能的PHP_FUNCTION函数的具体编写
可以参考的资料:
http://php.net/manual/en/internals2.ze1.zendapi.php
http://blog.csdn.net/21aspnet/article/details/7382199

© 著作权归作者所有

共有 人打赏支持
wankaiming

wankaiming

粉丝 72
博文 227
码字总数 61416
作品 0
广州
高级程序员
私信 提问
加载中

评论(1)

jooker
jooker
出错安装不上,后为更新了一下 apt-get update 才可以
年底盘点:LinuxDeepin 的 2012!

在末日今天,盘点下Linux Deepin的2012年。Linux Deepin是目前国内开源社区和国际社区异军突起的一个Linux版本。总的来说,好坏皆有,但不可否认:Linux Deepin在做着正确的事情。在本文中,...

火耳
2012/12/21
3.9K
31
LinuxDeepin 10.06 正式发布

LinuxDeepin 开发团队已于昨日发布了 LinuxDeepin 10.06 的正式版本。该版本包含如下特性: 基于 Ubuntu 10.04 LTS 启动速度大幅提高 采用 ibus-sunpinyin(目前 Linux 下最好的整句输入法)...

红薯
2010/07/24
1K
3
基于Qt库的下载工具--PointDownload

PointDownload 点载,是一个能帮助你方便地从网络上下载各种文件的软件。现在已经支持主流的各种下载协议,包括迅雷的thunder://和QQ旋风的下载协议。当前提供的软件安装包支持的操作系统有:...

choldrim
2016/04/18
2.6K
0
Ubuntu 上体验 Linux Deepin 的软件中心

LinuxDeepin 11.06 beta2 已于前两日正式发布,详情见官方通告。Linux Deepin 中最大的特色之一是,用自已开发的更适合中文用户使用的软件中心取代了 Ubuntu 自带的 Software Center,截图如...

鉴客
2011/06/21
7.6K
4
UbuntuKylin 对国内 Linux 桌面厂商的影响

本文为原创,首发在开源中国站点,如果转载,请注明开源中国哟。本文针对近期的 Ubuntukylin 项目写了一点自己的观点。 为什么选择UbuntuKylin? 很明显,Ubuntu在Canonical公司的运营下,成...

wangzhehome
2013/03/25
3.8K
15

没有更多内容

加载失败,请刷新页面

加载更多

nginx的内容

1、nginx 稳定,由俄国人开发, nginx.org 分支: tengine,由淘宝开发; tengine.taobao.com nginx的功能:http服务, 负载均衡 反向代理 邮件代理 缓存加速 SSL, 功能完善;高并发 可以用来处理...

芬野de博客
31分钟前
3
0
websocket 接口简单测试工具,webcoket实用测试工具

chorme 插件 Simple WebSocket Client 对开发来说够用了,能连互联网,也能连本地的。 之前用jmeter 带复杂了,而且登录不好弄,这个基于浏览器,共享浏览器的登录信息。方便!...

SimonAt
37分钟前
5
0
Ext中 get、getDom、getCmp的区别

getDom方法能够得到文档中的DOM节点,该方法中包含一个参数,该参数可以是DOM节点的id、DOM节点对象或DOM节点对应的Ext元素(Element)等。 (与getElementById是一个效果) •Ext.onReady(funct...

休辞醉倒
44分钟前
1
0
springboot jpa 访问数据库

spring boot(五):spring data jpa的使用 SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql

颖辉小居
59分钟前
4
0
Quartz + Oracle 分布式Job实现

简述 实现 依赖包 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version><exclusions><exclusion><groupId>com.zax......

呼呼南风
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部