首先下载一份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/
就可以看到执行情况
 
参考了如下两个文章
(这两个文章写的都不够好,建议读者不要看)
 
 
 
 
 
 
 
 

开发php的扩展模块(centos环境下)的更多相关文章

  1. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  2. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  3. Centos环境下部署游戏服务器-软件安装

    这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...

  4. CentOS环境下R语言的安装和配置

    最近在看数据统计和分析,想到了R语言,于是就着手在自己的CentOS环境下进行安装和配置.步骤如下: 1.前往R官网下载安装包. 2.解压压缩包:tar xvzf R-3.2.2.tar.gz 3.进 ...

  5. 在Centos环境下安装兼容Apache2.4高版本SVN服务

    在阿里云Centos环境下,搭建PHP运行环境,PHP选择了php7版本,Mysql选择了5.7版本,Apache选择了2.4版本,在搭建SVN版本控制服务过程中出现了不兼容问题,当前环境下Apach ...

  6. CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...

  7. centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库

    centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库 如下图: 首先查看是否安装了中文语言支持组件 yum grouplist 没有的话安装 yum install Chinese Su ...

  8. centos环境下创建数据库和表的方法

    centos环境下创建数据库和表的方法 //查询数据库的命令: mysql> SHOW DATABASES; +--------------------+ | Database         ...

  9. centos环境下登录mysql报 ERROR 1045 (28000)怎么解决

    centos环境下登录mysql报 ERROR 1045 (28000)怎么解决 新入手一台虚拟机,Centos7系列的操作系统,安装mysql后,执行连接出现了Mysql ERROR 1045 (2 ...

随机推荐

  1. redis 一些操作命令

    # 删除laravel keyredis-cli -h 10.9.103.15 -a password keys "laravel*" | xargs redis-cli -h 1 ...

  2. js判断手机系统(Android或IOS),跳转相应下载地址

    <script type="text/javascript"> $(document).ready(function(e) { var u = navigator.us ...

  3. ActiveMQ_6持久化

    activemq持久化 ActiveMQ提供了插件式的消息存储,主要有有如下几种: 1.AMQ消息存储-基于文件的存储方式,是以前的默认消息存储 2.KahaDB消息存储-提供了容量的提升和恢复能力, ...

  4. MFC在对话框中嵌入对话框

    在对话框中嵌入子对话框 代码 m_childDlg = new CChildDlg(); m_childDlg->Create(IDD_CHILD_DIALOG,AfxGetApp()-> ...

  5. 第34 memcached缓存

    1.缓存数据库 缓存:将数据存储在内存中,只有当磁盘胜任不了的时候,才会启用缓存. 缺点:断电数据丢失(双电),用缓存存储数据的目的只是为了应付大并发的业务,至于数据存储及可靠性不要找他了.   数据 ...

  6. ubuntu服务器搭建DVWA站点

    把DVWA里面的文件夹拷贝到/var/www/html里面去 1.安装之前先更新系统 sudo apt update 2.安装Apache2 sudo apt install apache2 3.安装 ...

  7. docker学习笔记-安装

    安装docker Ubuntu Docker 安装 Docker 支持以下的 Ubuntu 版本: Ubuntu Precise 12.04 (LTS) Ubuntu Trusty 14.04 (LT ...

  8. hdmi中深度色彩像素打包

    4个色彩像素包模式:24- 30- 36- 48- 不同模式下tmds时钟与与像素的比是位宽与24的比值 . 24 bit mode: TMDS clock = 1.0 x pixel clock ( ...

  9. 叠加dgv中相同的行信息

    俗话说,磨刀不误砍柴工,先说一下情况.点击按钮后往dgv中添加一行(行中字段含有数量),再点击一次,又添加一行. 假如这两条信息一样.则要进行叠加(数量相加).我的思路是这样的:每次点击一次就往dgv ...

  10. Windows 远程栈溢出挖掘与利用

    缓冲区溢出攻击很容易被攻击者利用,因为 C 和 C++等语言并没有自动检测缓冲区溢出操作,同时程序编写人员在编写代码时也很难始终检查缓冲区是否可能溢出.利用溢出,攻击者可以将期望数据写入漏洞程序内存中 ...