编译PHP扩展的通用方法
以安装swoole扩展为例:
步骤1: wget pecl.php.net/get/swoole-1.7.21.tgz (下载swoole打包文件)
步骤2: tar zxvf swoole-1.7.21.tgz (解压swoole压缩文件)
步骤3: cd swoole-1.7.21 (进入swoole目录)
步骤4: /usr/local/php/bin/phpize (或直接使用phpize 。phpize 命令是用来准备 PHP 扩展库的编译环境的,每个人的phpize命令的路径可能不同,不要直接复制执行)
步骤5: ./configure --with-php-config=/usr/local/php/bin/php-config (或直接使用./configure 。./configure 作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系)
步骤6: make (编译)
步骤7: make test (这一步就是对上一步 make 的检查了,要确保 make 是没有错误的)
步骤8: make install
执行完make install会看到类似这样的信息:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ ,这条路径就是PHP扩展(extension_dir)的路径,安装成功的swoole.so就在该目录里。
步骤9: vim /usr/local/php/lib/php.ini 添加extension=swoole.so
步骤10: service php-fpm restart (重启PHP的FastCGI进程管理器,现在我已经把nginx,php-fpm的服务启动脚本已经写进/etc/rc.d/init.d)
如果您阅读过此文章有所收获,请为我顶一个,如果文章中有错误的地方,欢迎指出。
相互学习,共同进步!
编译PHP扩展的通用方法的更多相关文章
- 无需重新编译php加入ftp扩展的解决方法
无需重新编译php加入ftp扩展的解决方法 本文为大家介绍无需重新编译php加入ftp扩展的方法,有需要的朋友可以参考下 首先,进入源码目录cd php-5.2.13/ext/ftp #运行p ...
- Memcached 笔记与总结(2)编译 php-memcache 扩展
环境:CentOS 6.6 + Apache 2.2.21 + PHP 5.3.10 php-memcache 是 php 写的 memcached 的客户端,以扩展的形式发布. 对于正在运行的 ph ...
- 使用 highchart 绘制柱状图的通用方法与接口
本文给出使用 highchart 绘制柱状图的通用方法与接口, 只要指定相应的数据结构和配置, 就可以直接拿来使用. 一. 数据结构与基本接口 一般绘制图形, 会涉及到较复杂的数据结构, 比如使 ...
- hibernate学习笔记4---HQL、通用方法的抽取实现
一.通用方法的抽取实现 由于hibernate中对增删改查的一切操作都是面向对象的,所以将增删改查抽取成通用方法,以满足不同的表的增删改查操作,简化jdbc代码. 具体例子如下: package cn ...
- windows平台使用Microsoft Visual C++ Compiler for Python 2.7编译python扩展
在windows平台上安装python c extension的扩展包是件很痛苦的事情,一般通过安装vc/vs系列来编译C扩展,不过安装包都比较大.或者通过mingw编译,不过有时会在兼容性上出现点问 ...
- Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)
Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...
- 如何用 ISO 镜像制作 U 盘安装盘(通用方法、无需 WinPE)
今天聊的这个话题属于老生常谈,这几年时常有读者来询问(现在有越来越多的电脑是无光驱的).再加上俺后面要扫盲一些“特殊的 Linux 发行版”,到时候肯定又要涉及到制作可引导U盘的事情.所以,今天先单独 ...
- 编译PHP扩展的方式
编译的两种方式其实很简单,这里记录只是为了以后遇到这种情况时不加思索地运用上,而不是花费一些时间去回忆. C/C++程序编译有两种方式:动态编译.静态编译.PHP 是使用 C/C++程序开发的一门脚本 ...
- 使用java泛型设计通用方法
泛型是Java SE 1.5的新特性, 泛型的本质是参数化类型, 也就是说所操作的数据类型被指定为一个参数. 因此我们可以利用泛型和反射来设计一些通用方法. 现在有2张表, 一张user表和一张stu ...
随机推荐
- css异步加载
<link rel="preload" href="mystyles.css" as="style" onload="thi ...
- codeforces 439C 模拟
http://codeforces.com/problemset/problem/439/C 题意:给你n个数,分成k个非空集合,其中有p个集合的元素和为偶数,其余k-p个集合的元素和为奇数. 思路: ...
- Xshell 5 上传下载插件
#yum -y install lrzsz #rz 上传 sz用法: 下载一个文件 sz filename 下载多个文件 sz filename1 filename2 下载dir目录下的所有文件,不包 ...
- Java -- JDBC mysql读写大数据,文本 和 二进制文件
1. 往mysql中读写字符文本 public class Demo1 { /* 创建数据库 create database LOBTest; use LOBTest; create table te ...
- codeforces766E Mahmoud and a xor trip(按位统计+树形DP)
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- python之Django admin总结
一.Django内置admin a.配置路由 urlpatterns = [ url(r'^admin/', admin.site.urls), ] b.定制admin 在admin.py中 ...
- matplotlib柱状图
import numpy as np import matplotlib.pyplot as plt size = 5 a = np.random.random(size) b = np.random ...
- js获取当前url的参数
可以用正则表达式获取当前url参数,例如: var t={ getQueryString:function(name){ var reg = new RegExp("(^|&)&qu ...
- SSIS包的开发
在上一章节中我们初步了解了SSIS体系结构以及如何创建一个SSIS包.现在就介绍一下如何在创建的包中使用各个选项卡.打开上一章节创建的SSIS包.整个界面风格如下: 在整个包中包含了控制流选项卡.数据 ...
- DH01-简单工厂模式
模式简介 简单工厂模式又称静态工厂方法模式,定义一个用于创建对象的接口.其主要组成部分为: 工厂类角色:模式的核心,具有一定的商业逻辑和判断逻辑.如示例中的类AnimalSpecies 抽象产品角色: ...