编译安装 PHP 扩展 - 含 swoole 扩展安装和升级
編譯安裝 Redis 擴(kuò)展 - phpredis
編譯安裝 Swoole 擴(kuò)展
編譯安裝 Pcntl 擴(kuò)展
編譯安裝 Sockets 擴(kuò)展
編譯安裝 Event 擴(kuò)展
編譯安裝 Mongodb 擴(kuò)展
編譯安裝 Memcache 擴(kuò)展
編譯安裝 Redis 擴(kuò)展
predis,是 PHP 代碼實(shí)現(xiàn)原生 redis client,采用socket連接,只依賴于 php 解釋器,無需安裝擴(kuò)展
phpredis(php extension redis)是 C 編寫的 PHP原生擴(kuò)展,支持 php-fmp 模式下的 redis 持久連接
對(duì)比:
功能:區(qū)別不大
性能:c 編寫的 phpredis 性能理論上要好一點(diǎn),但是除非執(zhí)行大量 redis 命令,否則很難有性能上的區(qū)別,因?yàn)?redis 命令的開銷大多在網(wǎng)絡(luò)傳輸上,不過在 php-fpm 模式下,phpredis 的持久連接性能會(huì)比 predis 性能高出一大截
# 創(chuàng)建文件 sudo touch redis_test.php
編譯安裝 Swoole 4.2.2 擴(kuò)展
phpize 作用:
偵測(cè)環(huán)境,根據(jù)當(dāng)前 php 信息生成 ./configure 文件
為編譯安裝的 php 創(chuàng)建外掛模塊,不用再次編譯 php
執(zhí)行之后會(huì)生成 ./configure 文件
# touch http_server.php
重新下載新版 swoole 按照上邊的過程重新走一遍即可,原來的 swoole 不用去管他
編譯安裝 Pcntl 擴(kuò)展
Pcntl 是 PHP cli 模式下的多進(jìn)程擴(kuò)展,只支持 unix 類系統(tǒng),源碼編譯安裝 php 時(shí),默認(rèn)是關(guān)閉的,需要在編譯時(shí)使用 --enable-pcntl 開啟
如果已經(jīng)編譯安裝 PHP,pecl 是沒有提供源碼包的,因?yàn)樵创a包已經(jīng)包含在 PHP 源碼中了,只需要到解壓的源碼目錄中去編譯安裝就好了
編譯安裝 Sockets 擴(kuò)展
升級(jí) re2c
sudo upgrade re2c
編譯安裝 Event 擴(kuò)展
LibEvent 是一個(gè) C 語言編寫的、輕量級(jí)的開源高性能 I/O 框架
支持多種 I/O 多路復(fù)用:
epoll、poll、dev/poll、select、kqueue等
支持 I/O 、定時(shí)器和信號(hào)等事件,支持注冊(cè)事件優(yōu)先級(jí)
對(duì)應(yīng)擴(kuò)展 libevent 、event
libevent 不再更新,僅支持 php5, Event 對(duì) php7 支持較好,且提供了面向?qū)ο蠛透嗵匦?/p>
Event Loop : 事件循環(huán)/輪詢
依賴于 sockets 擴(kuò)展 --enable-sockets 或者編譯安裝
event 擴(kuò)展依賴于 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 phpize3.配置
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 install5.配置 php.ini
sudo vim /usr/local/php/etc/php.ini # 要在 extension=sockets 之后 extension=event.so6.重啟
sudo service php-fpm reload php --ri event編譯安裝 Mongodb 擴(kuò)展
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.32.生成配置文件 configure
sudo phpize3.配置
sudo ./configure --with-php-config=/usr/local/php/bin/php-config4.編譯 && 安裝
sudo make && sudo make install5.配置 php.ini
sudo vim /usr/local/php/etc/php.ini extension=mongodb.so6.重啟 php-fpm
sudo service php-fpm reload7.查看
php --ri mongodb轉(zhuǎn)載于:https://blog.51cto.com/12750968/2323635
總結(jié)
以上是生活随笔為你收集整理的编译安装 PHP 扩展 - 含 swoole 扩展安装和升级的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: re:Invent第二天:互联网客户在右
- 下一篇: webuploader结合php实现图片