在php编译安装好的情况下php扩展编译

php的很多模块都是以php的扩展形式来进行的。所以在php安装好的环境下需要用到之前安装时没有编译安装的php扩展的时候,这个时候编译安装php扩展就显得尤为的重要,因为不可能再次编译安装php环境。


一、在windows下编译安装php扩展:
1、使用phpinfo()函数来查看当前编译php的环境使用的编译器选择合适的扩展包:

Compiler MSVC9 (Visual C++ 2008)

2、查看扩展使用的是TS/NTS  VC9也是选择合适的编的扩展包 

Zend Extension Build API220100525,TS,VC9

3、php的版本信息

4、根据上面3项的信息到官方下载.dll扩展包
5、将下载后的.dll文件复制到php的扩展目录中,这个信息也是可以通过phpinfo()函数来查看的。

extension_dir c:/wamp/bin/php/php5.4.12/ext/ c:/wamp/bin/php/php5.4.12/ext/

6、修改php的配置文件(php.ini)

extension=*.dll
【注意】很多时候,我们修改完配置文件之后重新启动Apache后还是不管用,甚至是删除php的配置文件还是没有出现任何问题,这个时候我们应该想到我们修改的加载的配置文件是不是有问题,因为在安装的时候,配置文件可能会出现修改。这个时候最权威的就是查看php的信息phpinfo();

Loaded Configuration File C:\wamp\bin\apache\apache2.4.4\bin\php.ini

7、以上6部完成之后记得重新启动服务,加载php




二、Linux下编译安装php扩展
1、可以根据上述信息选择合适的源码包,这个要求不是很严格。
2、下载后的扩展包中没有configure文件,这个时候就是要自己用php生成
运行:/usr/local/php/bin/php.ize
这样就会生成comfigure文件
3、配置
因为每个软件的配置都可能不一样,这个时候就需要根据具体的情况来进行配置
./configure --help来获取配置信息,在配置的时候,出现什么问题就用这个命令获取帮助,在进行配置。这个时候基本上也用不上baidu,Google了,实在不行可以Google获取帮助。
注意:一般要配置--with-php-config=/usr/local/php/bin/php.config
4、编译make
5、安装make install(这个时候会出现安装后的.so文件目录)
6、修改配置文件
extension=make insall 安装后的.so文件目录如下面:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so

7、重新启动服务(如果是nginx记得重新启动php进程)


编译php扩展的更多相关文章

  1. Memcached 笔记与总结(2)编译 php-memcache 扩展

    环境:CentOS 6.6 + Apache 2.2.21 + PHP 5.3.10 php-memcache 是 php 写的 memcached 的客户端,以扩展的形式发布. 对于正在运行的 ph ...

  2. windows平台使用Microsoft Visual C++ Compiler for Python 2.7编译python扩展

    在windows平台上安装python c extension的扩展包是件很痛苦的事情,一般通过安装vc/vs系列来编译C扩展,不过安装包都比较大.或者通过mingw编译,不过有时会在兼容性上出现点问 ...

  3. PHP7 学习笔记(九)phpsize动态编译openssl扩展 (微信公众平台)

    先吐槽,微信公众平台授权出问题了,尽然访问不了 一.问题描述: 使用PHP中的库函数file_get_contents时出现Unable to find the wrapper "https ...

  4. php编译安装扩展redis及swoole

    一.安装redis扩展 下载redis扩展包以及解压 wget https://github.com/edtechd/phpredis/archive/php7.zip unzip php7.zip ...

  5. 编译PHP扩展的方式

    编译的两种方式其实很简单,这里记录只是为了以后遇到这种情况时不加思索地运用上,而不是花费一些时间去回忆. C/C++程序编译有两种方式:动态编译.静态编译.PHP 是使用 C/C++程序开发的一门脚本 ...

  6. Hawk 6. 编译和扩展开发

    Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...

  7. 用pecl/pear独立编译PHP扩展 vs. 把扩展编译到PHP内核中

    将扩展编译到php内部的方式会提高php运行扩展的效率,但是每次需要新添加扩展时都需要把php以及之前添加的所有扩展重新编译一边,非常麻烦. 独立编译扩展,php外部调用扩展的方式虽然会牺牲一点点的性 ...

  8. windows 下编译php扩展库pecl里的扩展memcache

    Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内 ...

  9. 编译PHP扩展amqp & php消息队列 rabbitmq

    首先介绍下AMQP: AMQP——高级消息队列协议,目前比较有名气的实现大概就是大名鼎鼎的RabbitMQ了. RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统.他遵循Mozilla ...

  10. PHP的安装,编译,扩展工具

    1.基本容易混淆的概念 pecl php的社区贡献扩展库,全称为PHP Extension Community Library, 是php的底层库, 使用C语言编写 pear php的应用扩展库,全称 ...

随机推荐

  1. PHP关联数组教程

    PHP 数组 关联数组 什么是数组?在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量.无需很多相似的变量,你可以把数据作为元素存储在数组中.数组中的元素都有自己的 ID,因此可以 ...

  2. ATS项目更新(3) 远程同步到执行机器

    1: echo %time% 2: 3: 4: rem ** ipc and mapping 5: c: 6: net use x: /del 7: net use y: /del 8: net us ...

  3. 调用FileSystemObject.CopyFile发生没有权限的错误

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近编写一个JScript,在调用FileSystemObject.CopyFile发生没有权限的错误,具体如下图: ...

  4. MATLAB利用散点进行函数曲线拟合

    原文:MATLAB利用散点进行函数曲线拟合 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/laobai1015/article/details/77 ...

  5. debian安装node.js

    1,先下载nodejs: # wget http://nodejs.org/dist/v0.8.7/node-v0.8.7.tar.gz 2,解压文件 # tar xvf node-v0.8.7.ta ...

  6. ItemsPanelTemplate

    用以定义集合控件的容器外观,如ListBox,Combox 等等使用一个自定义的ListBox用以说明,其默认外观是上下排列,这里修改成横向排列 <Window.Resources> &l ...

  7. DataContext和ItemSource

    一对多的关系DataContext为上下文,绑定数据源ItemSource取上下文中的某属性,会一级一级往上找属性 一般ItemSource的绑定,绑定到Grid/DataGrid一类容器上,底下的控 ...

  8. Qt 显示 GIF

    Qt 中,静态图片 PNG,JPG 等可以用其创建 QPixmap,调用 QLabel::setPixmap() 来显示,但是能够具有动画的 GIF 却不能这么做,要在 QLabel 上显示 GIF, ...

  9. jquery好友面板切换

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  10. linux系统的ssh服务开启方法

      操作方法: 1.编辑sshd_config文件 root@linux:~# vi /etc/ssh/sshd_config 2.检查如下配置项: PasswordAuthentication ye ...