php扩展安装方式
扩展安装
以php安装swoole扩展为例。
php源码编译安装
下载源码包并编译安装
$ wget http://cn2.php.net/distributions/php7-1.0.tar.gz
$ tar -zxvf php7-1.0.tar.gz
$ cd php7-1.0
$ ./configure --prefix=$HOME/php7/book/php7-1.0/output --enable-fpm
$ make && make install
./configure 是用来检测你的安装平台的目标特征的,并做些系统设置
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure -–prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的
/usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参
数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。
参数详解:
--prefix=PREFIX 文件安装到PREFIX指定目录
--bindir=DIRECTORY 为可执行程序声明目录
--libdir=DIRECTORY
库文件和动态装载模块的目录.缺省是 EXEC-PREFIX/lib.
--includedir=DIRECTORY
C 和 C++ 头文件的目录.缺省是 PREFIX/include.
--enable-syslog 启用系统日志
--enable-debug 所有程序和库以带有调试符号的方式编译。
make 是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
PEAR、PECL
PEAR PHP扩展与应用库(the PHP Extension and Application Repository)
PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成
Pear:是PHP的扩展代码包,所有的扩展均以PHP代码的形式出现,功能强大,安装简单,甚至可以改改就用。使用的时候,要在代码中进行Include才能够使用。
Pecl:是PHP的标准扩展,可以补充实际开发中所需的功能,所有的扩展都需要安装,在Windows下面以Dll的形式出现,在linux下面,需要单独进行编译,它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。
Pear是PHP的上层扩展,Pecl是PHP的底层扩展。
# pecl安装扩展 前提swoole必须在php官方扩展库
$ pecl install swoole
phpize 源码安装
phpize 动态安装扩展,通过phpize以建立php的外挂模块。
curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L && \
tar zxvf ./tmp/swoole.tar.gz && \
mv swoole-src* swoole-src && \
cd swoole-src && \
phpize && \
./configure \
--enable-coroutine \ #启用协程
--enable-openssl \ #启用openssl
--enable-http2 \ #启用http2
--enable-async-redis \ #启用异步redis
--enable-sockets \ #启用sockets
--enable-mysqlnd && \ #启用mysqlnd
make clean && make && sudo make install
php扩展安装方式的更多相关文章
- Eclipse扩展安装插件方式
Eclipse安装插件经常使用的是直接安装的方式,就是将插件中包含的plugins和features文件夹中的内容直接复制到了Eclipse的plugins和features文件夹内,这样很容易导致插 ...
- php安装soap等扩展的方式: 已经安装了php却发现少安装了一下扩展
php安装soap等扩展的方式: 已经安装了php却发现少安装了一下扩展 1.首先确认下php.ini的安装位置 我的安装目录是: /usr/local/php 一般位置: /usr/local/ph ...
- 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...
- Eclipse插件安装方式及使用说明
拷贝安装方式 1.通过ECLIPSE_HOME\plugins安装 在eclipse的主目录ECLIPSE_HOME, 比如在我的机器上安装的目录是:ECLIPSE_HOME有一个plugins的目录 ...
- Python模块常用的几种安装方式
Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...
- linux下Redis与phpredis扩展安装
++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...
- eclipse的svn插件安装方式
eclipse的插件安装一般有3种方式: 1)通过eclipse的Help/ Install New Software...中, 点击Add, 添加一个在线更新地址,如:http://subclips ...
- redis和redis php扩展安装(转)
redis是一个内存数据库,比memcache支持更丰富的value类型,新浪微博就使用redis来做缓存. redis的源码安装 wget http://download.redis.io/redi ...
- Firefox扩展安装
firefox扩展和chrome扩展非常相似,甚至兼容.因总结过chrome扩展的开发,这里不提,本篇谈谈firefox扩展的安装. 1.打包 所谓的打包,就是压缩,利用普通的右键压缩文件夹,这样形成 ...
随机推荐
- 重写mybatis的字符串类型处理器
1.简介 无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型. St ...
- 小程序中怎么引入wepy.js第三方toast组件
1.先安装组件 npm install wepy-com-toast --save 2.引入wepy和toast import wepy from 'wepy' import Toast from ' ...
- requests库详解
import requests #实例引入 # response = requests.get('http://www.baidu.com') # print(type(response)) # pr ...
- Python中单引号和双引号的作用
一.单引号和双引号 在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如 str1 = 'python' str2 = "python" str1和str2是没有 ...
- Linux crontab 定时任务使用
1.介绍 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程: 与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程 ...
- 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...
- 如何写一个webService接口
第一次写接口的时候,感觉太过笼统,压根不知道接口是个什么东东,,后来自己也查了好多资料,才发现其实接口可以就认为是一个方法,自己多写几种以后就会发现挺简单的,自己整理了一下资料,纯属增强自己的记忆,也 ...
- ubuntu16.04 18.04 Qt5.11安装Gstreamer
最近因为要做跨平台的视频传输,需要用到linux的解码器,真的是搞死我了 大概讲一下我现在的平台是ubuntu16.04 Qt5.11 ,我现在需要在我的程序中使用视频这一块,无奈linux中,Qt支 ...
- 【java/Json】用Java对象构建Json语法树
本文后续:https://www.cnblogs.com/xiandedanteng/p/11973129.html 编译第一步:将文本解析成Java对象构成的语法树 第二步:将语法树输出整形好的Js ...
- 卸载node和npm
sudo npm uninstall npm -g yum remove nodejs npm -y