文档章节

linuxdeepin(ubuntu)下php扩展开发

wankaiming
 wankaiming
发布于 2012/12/28 16:17
字数 402
阅读 633
收藏 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

粉丝 70
博文 226
码字总数 64083
作品 0
广州
高级程序员
加载中

评论(1)

jooker
jooker
出错安装不上,后为更新了一下 apt-get update 才可以
Linux Deepin 11.12 发行注记

Linux Deepin 11.12 最终版,正式发布了! 至诚感谢社区的爱好者和支持者们、武汉的设计团队、开发团队,每一位成员都为此付出了巨大努力。 与 Linux Deepin 11.06 版本相比,Linux Deepin ...

红薯
2011/12/31
1K
12
年底盘点:LinuxDeepin 的 2012!

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

火耳
2012/12/21
3.7K
31
基于Qt库的下载工具--PointDownload

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

choldrim
2016/04/18
2.6K
0
LinuxDeepin 10.06 正式发布

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

红薯
2010/07/24
1K
3
UbuntuKylin 对国内 Linux 桌面厂商的影响

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

wangzhehome
2013/03/26
3.8K
15

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Minifilter的动态安装、加载及卸载

MINIFILTER框架的文件系统过滤驱动,无法使用的CreateService和OpenService进行动态加载。 看了一下,使用Inf文件安装Minifilter驱动的方式是在注册表驱动服务项下比传统驱动多创建了Instanc...

simpower
14分钟前
0
0
idea新建springCloud项目(6)- Config Server使用

1.在IDEA新建springCloud项目-Config Server 修改版本,和之前建的eureka项目版本一致,修改完记得刷新: 删除掉不需要的文件: 2.把Config S 服务注册到eureka上去,配置git地址,启动项目 ...

monroeCode
20分钟前
3
0
大数据可视化项目开发总纲

第1章 开发文档总纲 1.1 开发工具清单 名称 版本 备注 Pentaho-bi server pentaho-server-ce-7.1 Pentaho Cde为其内置工具 Pentaho-prd pentaho-prd-ce-7.1 Pentaho Report Designer报表工具...

ZhangLG
20分钟前
1
0
pip安装超时问题

pip3 install --default-timeout=100 tensorflow 设置为100秒 参考: User Guide How to solve ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443) with pip?......

亚林瓜子
22分钟前
0
0
fragment 旋转时保持当前实例

设备旋转时保存Fragment的交互状态: setRetainInstance(true);

zdglf
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部