Ubuntu下PHP的扩展
Ubuntu版本:14.04
1. 下载php-5.5.10.tar.bz2,并解压。
2. 终端进入解压后的目录php-5.5.10,运行configure。(输入命令./configure)
3. 依次输入命令make/make install。成功安装php后继续往下执行(输入"php -v"命令可判断是否成功安装了php)。
4. 进入ext目录,输入命令:./ext_skel --extname=myextension。(myextension为扩展模块的名字)。命令执行成功后,会生成一个myextension目录。
5. 进入myextension目录,编辑config.m4文件。
取消“PHP_ARG_ENABLE(hello, whether to enable hello support,”和“[ --enable-hello Enable hello support])”这两行的注释。(去掉这两行前的“dnl”即可)
如果扩展函数需要调用到动态连接库文件,如:调用/usr/local/lib目录下的libtest.dll。那么在config.m4的“PHP_NEW_EXTENSION(.....)”这一行上添加以下几行:
PHP_ADD_LIBRARY_WITH_PATH(test, /usr/local/lib, MYEXTENSION_SHARED_LIBADD)
PHP_ADD_INCLUDE(/usr/local/lib)
PHP_SUBST(MYEXTENSION_SHARED_LIBADD)
本示例中为了方便,不添加动态链接库。
6. 执行phpize。如果提示“phpize command not found”,说明php5-dev没有安装(安装:apt-get install php5-dev)。
7. 编辑php_myextension.h文件(红色方框部分为所添加的内容)。

8. 编辑myextension.c文件(红色方框部分为所添加的内容)。


9. 输入命令:./configure。(注意:是在目录myextension下)
10. 依次输入命令make/make install。命令执行成功后,在myextension/modules目录下生成了myextension.so动态连接库。
11. 拷贝myextension.so文件到/usr/lib/php5/modules目录下。(没有该目录就新建)
12. 编辑php.ini。(如果未安装apache2,那么该文件在/etc/php5/cli/目录下,如果安装了,则还会有一个php.ini文件在/etc/php5/apache2/目录)如果有两个php.ini,则尽量保证这两个文件一致。
添加两行:
extension_dir = /usr/lib/php5/modules/
extension = myextension.so
13. 输入命令:php -r "echo myaddfunc(1,2);" 。如果终端打印出3则php扩展成功。
Ubuntu下PHP的扩展的更多相关文章
- ubuntu下安装pdo扩展
ubuntu下安装好LAMP后默认情况没有安装mysql_pdo扩展,以下是安装 步聚,在终端输入以下命令 1.pecl search pdo 2.sudo pecl install pdo 当出现E ...
- ubuntu下安装php扩展
参考原文地址:http://www.php.cn/php-weizijiaocheng-341528.html 发现在mac上好像不太行,然后按照下面的可以,写下来与大家分享 利用ubuntu的软件包 ...
- ubuntu下安装amqp扩展
目录 环境 下载扩展: 安装amqp: 验证 环境 系统 ubuntu 16.04 php 7.1 下载扩展: sudo apt-get -y install gcc make autoconf li ...
- [PHP] ubuntu下使用uuid扩展获取uuid
1.php生成uuid网上大部分是使用随机数md5截取的,很有可能会重复冲突 2.uuid的组成中最重要的一个是机器码,大部分是网卡MAC地址, php无法获取到机器码,因此不能直接使用代码来生成一个 ...
- ubuntu下安装php-curl扩展
查找包 apt-cache是linux下的一个apt软件包管理工具,它可查询apt的二进制软件包缓存文件.APT包管理的大多数信息查询功能都可以由apt-cache命令实现,通过apt-cache命令 ...
- ubuntu下安装apcu扩展
apcu前身是apc,apc分为系统缓存和用户缓存 1.系统缓存是指PHP执行时增加缓存,减少PHP文件的反复检查和编译,从而达到系统加速的目的. 2.用户缓存是指,PHP代码中将数据写入缓存,是用户 ...
- ubuntu下安装redis扩展
采用源码编译安装 下载 下载redis源码包到本地一个临时目录 git clone https://github.com/phpredis/phpredis.git 移动文件到合适目录 mv phpr ...
- ubuntu下安装mongo扩展
安装openssl apt-get install openssl libssl-dev libssl0.9.8 libgtk2.0-dev 安装php-pear apt-get install ph ...
- ubuntu下安装ffmpeg扩展
可通过PPA进行安装 sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get ...
随机推荐
- iOS Runtime原理及使用
runtime简介 因为Objc是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时.也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的 ...
- 【原】《Git教程》学习笔记
[TOC] 1 创建版本库 1.1 初始化 初始化一个Git仓库,使用 git init 命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file> ,注意,可反 ...
- paip.hibernate save 失败的解决
paip.hibernate save 失败的解决 打开log debug level,,看不见insert 代码... Hibernate select max(ID).txt ...
- Quartz定时任务学习(一)简单任务
学习quartz首先了解三个概念: 调度器:负责调度作业和触发器: 触发器:设置作业执行的时间.参数.条件等:(简单触发器和Cron触发器) 作业:定时任务内容,被执行的程序: 下载必要的jar包,直 ...
- Proxy模式:管理第三方API
软件中的Barrier. 数据从程序移到DB中时,要跨越数据库的Barrier.消息从一个PC到另一个PC时,要跨越网络Barrier. 跨越可能是复杂的,很可能处理Barrier的Code会多于处理 ...
- JQ例子:旋转木马
使用JQ现实旋转木马超级简单,它看起来很复杂,动画好像很难实现,但其实不然. 效果图: <!DOCTYPE html> <html lang="en"> & ...
- 微信开发——OAuth2.0授权
微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...
- AP6181 正基 WIFI 模块
a. Module size: 12*12mm (pin to pin compatible) Package: Stamp type 44pins AP6181: WiFiAP6210: WiFi/ ...
- HOWTO - Basic MSI安装包在安装运行过程中如何获取完整源路径
有朋友问到如何在一个Windows Installer安装包中获取安装包源路径,就是在安装包运行过程中动态获取*.msi所在完整路径. 这个问题分两类,如果我们的安装包只是一个*.msi安装文件,那么 ...
- windows下用golang连接mssql
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 安装Microsoft SQL Server Native Client 安装golang的mssql驱动 写测试代码 ...