文档章节

linuxdeepin(ubuntu)下php扩展开发

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

粉丝 71
博文 226
码字总数 60574
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

Redis异构集群之间数据迁移方案

一、Redis集群迁移工具 最近在做Redis数据迁移,网上找了两款开源的Redis迁移工具。 第一种:redis-port Codis官方提供的一个工具,redis-port是一个Redis工具,通过解析rdb文件,实现Redis...

IT--小哥
12分钟前
1
0
MySQL5.7源码安装

5、MySQL源码安装(centos7.5) 5.1 下载软件 官方自带(boost版本mysql) wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz tar xf mysql-boost-5.7.20.tar.g......

hnairdb
16分钟前
1
0
解压zip包(zip4j)

1:引入zip4j_1.3.2.jar 2:源码如下: package test;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import net.lingal......

uug
19分钟前
1
0
MySQL 8在CentOS 7用rpm安装

1.配置MySQL yum安装源和安装: #配置MySQL5.7的安装源 #https://repo.mysql.com/mysql57-community-release-el7.rpm #https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rp......

MichaelShu
26分钟前
1
0
docker 安装zookeeper

1.下拉镜像: docker pull zookeeper 2.运行镜像: docker run --name myZookeeper --restart always -d zookeeper 此时,2181 2888 3888分别是zookeeper的(客户端端口,跟随端口,选择端口)...

狼王黄师傅
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部