开发php的扩展模块(centos环境下)

首先下载一份PHP的源码,并上传到centos服务器上

源码下载地址:https://github.com/php/php-src

然后在命令行进入到源码路径下的ext目录

然后创建扩展项目

[root@myhost ext]# ./ext_skel --extname=sayhello

sayhello就是扩展项目的名字

创建完成之后ext目录下会多一个sayhello的文件夹,这个文件夹就是我们的扩展项目

在php_sayhello.h文件的最后,加入如下代码

在sayhello.c中加入如下代码:

然后改一下如下函数

打开config.m4文件修改如下几行代码,主要是取消注释,下图是改过之后的

在命令行进入sayhello目录下

执行如下命令

然后执行如下命令

注意安装php的方式不同php-config的路径也有可能不同

然后执行make命令

然后执行make install指令

此指令执行完之后,你就知道你的扩展模块被安装在哪个目录下了

然后修改/etc/php.ini文件

然后重启apache服务器

然后查看php的模块

你会看到我们的模块已经被加载进来了

然后写一个测试页面

代码如下

<?php
$a = sayhello("liulun");
echo "<br>";
echo $a;
?>;

然后把这个页面上传到如下目录

/var/www/html/

就可以看到执行情况

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jackson0714

Java环境变量配置

39480
来自专栏JavaEdge

SpringBoot集成Thymeleaf模板

1 创建一个maven工程,这个应该都会 2 pom文件加入下面内容即可(版本号自己改 <parent> <groupId>org.sp...

35440
来自专栏白驹过隙

Redis - 常用命令操作

32460
来自专栏木宛城主

Hyper-V 怎样拷贝文件至虚拟硬盘并附加到虚拟机上

对于大文件来说,通过远程桌面拷贝是件麻烦的事情,虽然简单,但速度受限太多,不推荐使用。 我工作中对于大文件的拷贝,通过创建一个新的虚拟硬盘(VHD),再把大...

37290
来自专栏xingoo, 一个梦想做发明家的程序员

记录安装oracle的那些事(三)之oracle Database R2安装

我是参考下面的安装方法: http://www.doc88.com/p-714757764357.html 其中有几个目录没有完全创建...要自己创建一下。...

187100
来自专栏尾尾部落

手把手教你在centos7中安装mysql数据库

CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了。 所以要安装mysql有两种方法,一种是直接安装mariadb,另...

27040
来自专栏Core Net

Visual Studio 2017离线安装包下载、安装

1.5K80
来自专栏jojo的技术小屋

原 模块化编程之require.js

作者:汪娇娇 日期:2016.5.4 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,...

30150
来自专栏Jackson0714

Java环境变量配置

27430
来自专栏LIN_ZONE

本地上传文件至服务器的技巧(linux文件压缩及解压文件)

其他的详细请查看:http://note.youdao.com/noteshare?id=e1326ecee0cd291253a3a47de4984f18

55120

扫码关注云+社区

领取腾讯云代金券