真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

編譯安裝PHP擴展-含swoole擴展安裝和升級

編譯安裝 redis 擴展 - phpredis
編譯安裝 Swoole 擴展
編譯安裝 Pcntl 擴展
編譯安裝 Sockets 擴展
編譯安裝 Event 擴展
編譯安裝 MongoDB 擴展
編譯安裝 Memcache 擴展

成都創(chuàng)新互聯是一家專業(yè)提供天涯企業(yè)網站建設,專注與網站制作、網站建設、成都h5網站建設、小程序制作等業(yè)務。10年已為天涯眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)的建站公司優(yōu)惠進行中。

編譯安裝 Redis 擴展

predis,是 PHP 代碼實現原生 redis client,采用socket連接,只依賴于 php 解釋器,無需安裝擴展
phpredis(php extension redis)是 C 編寫的 PHP原生擴展,支持 php-fmp 模式下的 redis 持久連接
對比:
功能:區(qū)別不大
性能:c 編寫的 phpredis 性能理論上要好一點,但是除非執(zhí)行大量 redis 命令,否則很難有性能上的區(qū)別,因為 redis 命令的開銷大多在網絡傳輸上,不過在 php-fpm 模式下,phpredis 的持久連接性能會比 predis 性能高出一大截

  1. 下載解壓
    sudo wget https://pecl.php.net/get/redis-4.2.0.tgz
    sudo tar -zxvf redis-4.2.0.tgz
    cd redis-4.2.0
  2. phpize 生成配置文件 configure
    # 為了使用方便可創(chuàng)建軟連接
    sudo ln -s /usr/local/php/bin/phpize  /usr/bin/phpize
    # 生成配置
    sudo phpize
  3. 配置
    sudo ./configure --with-php-config=/usr/local/php/bin/php-config # 指定配置
  4. 編譯 && 安裝
    sudo make && sudo make install 
  5. 查看是否生成 redis.so
    ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/redis.so
  6. 成功后配置 php.ini
    sudo vim /usr/local/php/etc/php.ini
    # 添加配置
    extension=redis.so
  7. 測試 - 前提 有可連接的 redis-server
    # 創(chuàng)建文件 sudo touch redis_test.php
connect('127.0.0.1', 6379);
$redis->auth('');
$redis->set('test', 'hello redis');
echo $redis->get('test');

php redis_test.php
打印 hello redis 則表示成功

編譯安裝 Swoole 4.2.2 擴展

  1. 下載解壓
    sudo wget  https://gitee.com/swoole/swoole/repository/archive/v4.2.2.zip
    sudo apt install unzip
    sudo unzip v4.2.2.zip && cd swoole
  2. phpize 生成 ./configure 文件
    sudo phpize

    phpize 作用:
    偵測環(huán)境,根據當前 php 信息生成 ./configure 文件
    為編譯安裝的 php 創(chuàng)建外掛模塊,不用再次編譯 php
    執(zhí)行之后會生成 ./configure 文件

  3. 配置
    sudo ./configure --with-php-config=/usr/local/php/bin/php-config # 指定配置,多版本php
  4. 編譯 && 測試 && 安裝
    sudo make && sudo make test && sudo make install
  5. 查看 swoole.so 是否正常生成
    # 編譯完成擴展目錄: /usr/local/php/lib/php/extensions 下
    ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/swoole.so
  6. php.ini 配置 swoole.so
    # 查看 php.ini 配置路徑 指令
    php -i | grep php.ini
    # 配置
    sudo vim /usr/local/php/etc/php.ini
    extension=swoole.so
  7. 重啟 && 查看擴展
    sudo service php-fpm reload
    # 查看
    php -m|grep swoole
    # 查看 swoole 詳細配置
    php --ri swoole
  8. 測試
    # touch http_server.php

on('request', function($request, $response){
    $response->end("

Hello Swoole . #".rand(1000, 9999)."

"); }); $http->start(); # 啟動 http 服務 php http_server.php # 打開瀏覽器訪問 127.0.0.1:9501 ,頁面展示一下內容則表示成功 Hello Swoole . #5912
  1. 升級swoole
    重新下載新版 swoole 按照上邊的過程重新走一遍即可,原來的 swoole 不用去管他

編譯安裝 Pcntl 擴展

Pcntl 是 PHP cli 模式下的多進程擴展,只支持 unix 類系統(tǒng),源碼編譯安裝 php 時,默認是關閉的,需要在編譯時使用 --enable-pcntl 開啟
如果已經編譯安裝 PHP,pecl 是沒有提供源碼包的,因為源碼包已經包含在 PHP 源碼中了,只需要到解壓的源碼目錄中去編譯安裝就好了

  1. 進入源碼目錄
    cd /usr/local/src/php-7.2.12/ext/pcntl
  2. 生成配置文件
    sudo phpize
  3. 配置
    sudo ./configure --with-php-config=/usr/local/php/bin/php-config
  4. 編譯 && 測試 && 安裝
    sudo make && sudo make test && sudo make install
  5. 查看 pcntl.so
    ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/pcntl.so
  6. 配置 php.ini
    sudo vim /usr/local/php/etc/php.ini
    extension=pcntl.so
  7. 重啟 php-fpm
    sudo service php-fpm reload
  8. 測試 touch pcntl_test.php
 0){
    for ($i=0; $i < 10; $i++) { 
        echo "這是父進程 pid:".$pid.PHP_EOL;
    }
}else{
    for ($i=0; $i <5 ; $i++) { 
        echo "這是子進程 pid:".$pid.PHP_EOL;
    }
}

php pcntl_test.php

編譯安裝 Sockets 擴展

升級 re2c
sudo upgrade re2c

  1. 進入源碼目錄
    cd /usr/local/src/php-7.2.12/ext/sockets
  2. 生成 configure 文件
    sudo phpize
  3. 配置
    sudo ./configure --with-php-config=/usr/lcoal/php/bin/php-config
  4. 編譯 && 測試 && 安裝
    sudo make && sudo make test && sudo make install
  5. 配置 php.ini
    sudo vim /usr/local/php/etc/php.ini
    extension=sockets

編譯安裝 Event 擴展

LibEvent 是一個 C 語言編寫的、輕量級的開源高性能 I/O 框架
支持多種 I/O 多路復用:
epoll、poll、dev/poll、select、kqueue等
支持 I/O 、定時器和信號等事件,支持注冊事件優(yōu)先級
對應擴展 libevent 、event
libevent 不再更新,僅支持 php5, Event 對 php7 支持較好,且提供了面向對象和更多特性

Event Loop : 事件循環(huán)/輪詢
依賴于 sockets 擴展 --enable-sockets 或者編譯安裝
event 擴展依賴于 Libevent 庫

  • 安裝 libevent 庫
    # 下載
    sudo wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
    # 解壓
    sudo tar -zxvf libevent-2.1.8-stable.tar.gz
    # 配置
    cd libevent-2.1.8-stable
    sudo ./configure --prefix=/usr/local/lib/libenvent-2.1.8
    # 編譯
    sudo make
    # 安裝
    sudo make install 
  • 安裝 event

    1.下載解壓

    sudo ln -s /usr/local/php/bin/pecl /usr/bin/pecl
    sudo wget http://pecl.php.net/get/event-2.4.1.tgz
    tar -zxvf event-2.4.1.tgz && cd event-2.4.1/

    2.生成配置 文件 configure

    sudo phpize

    3.配置

    sudo ./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/lib/libenvent-2.1.8/

    4.編譯 && 安裝

    sudo make && sudo make test && sudo make install

    5.配置 php.ini

    sudo vim /usr/local/php/etc/php.ini
    # 要在 extension=sockets 之后
    extension=event.so

    6.重啟

    sudo service php-fpm reload
    php --ri event

    編譯安裝 Mongodb 擴展

  PHP 有 Mongo 和 Mongodb 兩個擴展
  Mongo 已經廢棄,不支持 PHP7
  Mongodb 支持 PHP7,且具有 Mongodb 的新特性

1.下載解壓

sudo wget http://pecl.php.net/get/mongodb-1.5.3.tgz
sudo tar -zxvf mongodb-1.5.3.tgz && cd /usr/local/src/mongodb-1.5.3

2.生成配置文件 configure

sudo phpize

3.配置

sudo ./configure --with-php-config=/usr/local/php/bin/php-config

4.編譯 && 安裝

sudo make && sudo make install

5.配置 php.ini

sudo vim /usr/local/php/etc/php.ini
extension=mongodb.so

6.重啟 php-fpm

sudo service php-fpm reload

7.查看

php --ri mongodb

文章名稱:編譯安裝PHP擴展-含swoole擴展安裝和升級
網頁鏈接:http://weahome.cn/article/jjdddh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部