PHP扩展开发学习环境搭建

在centos7中编译安装php,并构建自定义扩展:

1. 运行centos7容器镜像

docker pull centos:centos7
docker run -itd --name phpdev -v /work/src/in/linux:/work/src:z centos:centos7

2. 进入phpdev容器,下载php7.3.1源码置于挂载目录中,解压缩,进入源码目录

docker exec -it phpdev /bin/bash
cd /work/src
tar -xvf php-7.3.1.tar.gz
cd php-7.3.1

3. 编译php源码

yum install autoconf make gcc re2c flex bison libxml2-devel.x86_64 libcurl-devel.x86_64 openssl-devel.x86_64 zlib-devel.x86_64 readline-devel.x86_64

./buildconf --force

./configure --enable-debug --with-openssl --with-zlib --enable-mbstring --with-pdo-mysql --with-curl --with-readline --enable-zip --enable-fpm

make

make install

4. 配置

#查看php配置文件应该放到哪里
php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib#拷贝php.ini文件到上述路径
cp /work/src/php-7.3.1/php.ini-development /usr/local/lib/php.ini

#查看php配置文件位置
php --ini

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /usr/local/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

5. 构建一个扩展框架

cd ext/work/src/php-7.3.1/sapi/cli/php -f ext_skel.php --ext sample

修改编译自己的扩展:

To use your new extension, you will have to execute the following steps:

1.  $ cd ..
2.  $ vi ext/sample/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-sample
5.  $ make
6.  $ ./sapi/cli/php -f ext/sample/sample.php
7.  $ vi ext/sample/sample.c
8.  $ make

修改自己的扩展后,只需重新make,然后通过sapi/cli/php来测试修改是否成功,要想直接使用php命令,需要每次make后都执行make install。

在php容器中构建自定义扩展:

运行并进入php容器内,php源码目录位于容器内/usr/src,首先需要解压php源码,在ext目录中构建自定义扩展,通过docker-php-ext-install命令安装扩展,最后重启容器生效。

#解压源码到/usr/src/php文件夹内
docker-php-source extract

#进入源码扩展目录
cd /usr/src/php/ext
#构建自定义扩展
php -f ext_skel.php --ext sample
#编辑自定义扩展。。。
#安装扩展
docker-php-ext-install sample
#exit退出容器,重启容器
exit
docker restart php

查看php扩展:

php -m

原文地址:https://www.cnblogs.com/ling-diary/p/10272475.html

时间: 2024-08-30 11:59:23

PHP扩展开发学习环境搭建的相关文章

IOS开发基础环境搭建

一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:          百度网盘:链接:http://pan.baidu.com/s/1c28EkpE 密码:93tl 解压后如下,点击如下脚本进行安装:按提示进行: 服务配置(按需配置): 这里仅限配置网络功能即可:选择1 回车-选择桥接模式 选择2启用桥接服务 三.安装macos虚拟机 注意:查看本机cup类型

NDK/JNI学习--环境搭建

基于Windows来开发Android的NDK,JNI需要的环境搭建,所需要的软件如下: Android 开发环境的基本配置(SDk,ADT,Eclipse IDE,JDK) 这些都是基本的环境搭建就不细说了,参考网上文章就OK了. Apache ANT构建系统 主要是用来构建NDK编译系统的,下载地址:apache-ant-1.9.4-bin.zip,下载后解压到C:\apache-ant-1.9.4,然后配置ANT的环境变量即可. 验证安装成功: GUN make 构建系统(常用Cygwin

SpringMVC轻松学习-环境搭建(二)

基于spring2.5的采用XML配置的spring MVC项目 注:本项目全部基于XML配置.同时,集成了hibernate.采用的是:spring MVC+hibernate+spring的开发架构. 1.      建立web项目 2.      导入jar包(spring.jar, spring-webmvc.jar, commons-logging.jar.其他jar包为hibernate相关jar包) 上面是SpringMVC的所有包,我将这些jar包放在了我的百度云盘中,当然你也可

菜鸟自学红帽存储——RHSS3.0安装及学习环境搭建

菜鸟在这里献丑了,我是0基础学习的linux,现在已经半年了,现在正在学红帽的存储管理,学习资料就是官方文档了,这个在官网可以下到,再加上论坛的一些资料,然后我就开始在这里卖萌了. 红帽的存储还是有一定的优势的,可扩展性好,采用scale-out模式,容量不够了直接加brick就行了,管理也很方便,入手也很快,所以我就开始自学了,当然我是一边自学一边贴博文,难免会有错误,还请各位大神路过给点意见. 红帽存储最新的是Red Hat Storage Server 3,系统的版本最新的已经是RHEL6

红帽存储服务器RHSS3.0安装图解及学习环境搭建

我是黄明辉,我是红帽男孩,我是小菜鸟. 菜鸟在这里献丑了,我是0基础学习的linux,现在已经半年了,现在正在学红帽的存储管理,学习资料就是官方文档了,这个在官网可以下到,再加上论坛的一些资料,然后我就开始在这里卖萌了. 红帽的存储还是有一定的优势的,可扩展性好,采用scale-out模式,容量不够了直接加brick就行了,管理也很方便,入手也很快,所以我就开始自学了,当然我是一边自学一边贴博文,难免会有错误,还请各位大神路过给点意见. 红帽存储最新的是Red Hat Storage Serve

【REACT NATIVE 跨平台应用开发】环境搭建问题记录&&XCODE7模拟器上COMMAND+R失效的几种替换方法

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2147.html React Native 这里不多介绍,其实就是个跨平台开发原生应用的开源引擎. 更详细的介绍,大家可以搜索"facebook react native" 或 "taobao react native" 附上 React Native 官方网站:http://react

VB.NET开发PDA环境搭建

我开发的是应用,没有涉及到底层啊,烧板子啊之类的,之前我也从没有接触过PDA和VB.NET,一切现学现卖.OK,开卖. 1.预备 我的系统是WIN7,32位. a)如果你有个PDA,再简单不过,插上电脑,自动搜索驱动,会自动安装一个Windows Mobile设备中心的软件,显示你的PDA已经连上了电脑. b)如果你没有PDA,更简单,运行的时候选择合适的模拟器就OK了. 2.VS2008中文版 要做PDA的应用,只能用VS2008或者以前的版本,VS2010之后已经不支持. 我这里用的是VB.

.Net程序员玩转Android开发---(1)环境搭建

对于没有接触过Android开发的人员来说,可能感觉Android开发比较困难,接下来的一段时间,我们将了解Android开发的具体细节,主要是面对.NET程序员,来看看.NET程序员怎样进行Android开发.  下面我们切入本节正题. 工欲善其事,必先利其器,下面我们准备Android开发的环境搭建,下面是开发的一些工具 1. JDK安装   jdk下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html JD

RHEL-7学习环境搭建

RHEL-7.2学习环境搭建: (一)安装系统 (二)配置系统基本参数 1.配置网卡参数: [[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736  TYPE="Ethernet" BOOTPROTO="static"     ##设置为静态IP IPADDR=192.168.10.50   ##设置IP地址 NETMASK=255.255.255.0    ##设置子网