zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    ubuntu 安装 库文件
    java接口定义的静态方法和默认如何在类实现的时候使用
    通过java的i/o机制进行图片流的存储以及对网络图片的存储
    java的两种冒泡算法
    Java的Integer和int有什么区别
    使用jq的ajax实现对xml文件的读取
    typescript中的工具 tsd
    使用reactjs遇到Warning: setState(...): Can only update a mounted or mounting component.
    在create-react-app的脚手架里面使用scss
    使用fetch-jsonp进行跨域以及参数的传递
  • 原文地址:https://www.cnblogs.com/followyou/p/11136991.html
Copyright © 2011-2022 走看看