编译安装 PHP 扩展 - 含 swoole 扩展安装和升级
編譯安裝 Redis 擴展 - phpredis
編譯安裝 Swoole 擴展
編譯安裝 Pcntl 擴展
編譯安裝 Sockets 擴展
編譯安裝 Event 擴展
編譯安裝 Mongodb 擴展
編譯安裝 Memcache 擴展
編譯安裝 Redis 擴展
predis,是 PHP 代碼實現原生 redis client,采用socket連接,只依賴于 php 解釋器,無需安裝擴展
phpredis(php extension redis)是 C 編寫的 PHP原生擴展,支持 php-fmp 模式下的 redis 持久連接
對比:
功能:區別不大
性能:c 編寫的 phpredis 性能理論上要好一點,但是除非執行大量 redis 命令,否則很難有性能上的區別,因為 redis 命令的開銷大多在網絡傳輸上,不過在 php-fpm 模式下,phpredis 的持久連接性能會比 predis 性能高出一大截
# 創建文件 sudo touch redis_test.php
編譯安裝 Swoole 4.2.2 擴展
phpize 作用:
偵測環境,根據當前 php 信息生成 ./configure 文件
為編譯安裝的 php 創建外掛模塊,不用再次編譯 php
執行之后會生成 ./configure 文件
# touch http_server.php
重新下載新版 swoole 按照上邊的過程重新走一遍即可,原來的 swoole 不用去管他
編譯安裝 Pcntl 擴展
Pcntl 是 PHP cli 模式下的多進程擴展,只支持 unix 類系統,源碼編譯安裝 php 時,默認是關閉的,需要在編譯時使用 --enable-pcntl 開啟
如果已經編譯安裝 PHP,pecl 是沒有提供源碼包的,因為源碼包已經包含在 PHP 源碼中了,只需要到解壓的源碼目錄中去編譯安裝就好了
編譯安裝 Sockets 擴展
升級 re2c
sudo upgrade re2c
編譯安裝 Event 擴展
LibEvent 是一個 C 語言編寫的、輕量級的開源高性能 I/O 框架
支持多種 I/O 多路復用:
epoll、poll、dev/poll、select、kqueue等
支持 I/O 、定時器和信號等事件,支持注冊事件優先級
對應擴展 libevent 、event
libevent 不再更新,僅支持 php5, Event 對 php7 支持較好,且提供了面向對象和更多特性
Event Loop : 事件循環/輪詢
依賴于 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 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 擴展
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轉載于:https://blog.51cto.com/12750968/2323635
總結
以上是生活随笔為你收集整理的编译安装 PHP 扩展 - 含 swoole 扩展安装和升级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: re:Invent第二天:互联网客户在右
- 下一篇: Angular Filter实现页面搜索