swoole安装

环境:centos7+docker+php7.4-fpm增加swoole扩展

docker exec -it php bash # 第一步进入php容器
php -m # 查看php容器扩展是否有swoole
docker-php-source extract
docker-php-ext-install swoole # 尝试安装swoole,这里报错,提示找不到扩展包
quit #退出容器

下面我们获取swoole包,并放入php容器的扩展目录下
swoole安装包获取地址:https://pecl.php.net/package/swoole

cd /docker/swoole
wget https://pecl.php.net/get/swoole-4.6.7.tgz #下载你需要的swoole版本扩展包
tar zxvf swoole-4.6.7.tgz #解压swoole扩展包
docker cp /docker/swoole/swoole-4.6.7 php:/usr/src/php/ext/swoole # 将swoole包复制到php容器
docker exec -it php bash # 再次进入php容器
docker-php-ext-install swoole # 安装swoole扩展,等待安装…
php -m # swoole已经在扩展里,安装完成。
php --ri swoole # 可以查看swoole详细信息

swoole是什么

Swoole 是一个使用 C++ 语言编写的基于异步事件驱动和协程的并行网络通信引擎,为 PHP 提供协程、高性能网络编程支持。提供了多种通信协议的网络服务器和客户端模块,可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。

swoole的优势

  • 常驻内存,避免重复加载带来的性能损耗,提升海量性能
  • 协程异步,提高对 I/O 密集型场景并发处理能力(如:微信开发、支付、登录等)
  • 方便地开发 Http、WebSocket、TCP、UDP 等应用,可以与硬件通信

XdeBug安装

环境:centos7+docker+php7.4-fpm增加xdebug扩展

下面我们获取xdebug包,并放入php容器的扩展目录下
xdebug安装包获取地址:https://xdebug.org/download#releases

cd /docker/php
wget https://xdebug.org/files/xdebug-3.0.4.tgz #下载你需要的xdebug版本扩展包
tar zxvf xdebug-3.0.4.tgz #解压xdebug扩展包
docker cp /docker/php/xdebug-3.0.4 php:/usr/src/php/ext/xdebug # 将xdebug包复制到php容器
docker exec -it php bash # 进入php容器
docker-php-ext-install xdebug # 安装xdebug扩展,等待安装…
php -m # xdebug已经在扩展里,安装完成。
php --ri xdebug # 可以查看xdebug详细信息

php中安装amqp扩展

docker exec -it php bash
安装amqp之前需要先安装rabbitmq-c扩展
apt-get update
apt-get install wget
cd /home
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
tar -zxvf rabbitmq-c-0.8.0.tar.gz
cd rabbitmq-c-0.8.0
./configure --prefix=/usr/local/rabbitmq-c
make && make install

https://pecl.php.net/package-search.php # 搜索需要的包
https://pecl.php.net/get/amqp-1.10.2.tgz # amqp 包下载地址
cd /home
wget https://pecl.php.net/get/amqp-1.10.2.tgz
tar -zxvf amqp-1.10.2.tgz
cp -r amqp-1.10.2 /usr/src/php/ext/amqp
cp /home/rabbitmq-c-0.8.0/librabbitmq/amqp_ssl_socket.h /usr/src/php/ext/amqp/
docker-php-ext-configure amqp --with-php-config=/usr/local/bin/php-config --with-librabbitmq-dir=/usr/local/rabbitmq-c
docker-php-ext-install amqp
php -m | grep amqp

windows docker 部署svn docker安装swoole_docker


php中安装pdo_mysql扩展

docker-php-ext-install pdo pdo_mysql

php中安装redis扩展

(推荐)安装方法一:源码包安装
源码包获取地址:https://github.com/phpredis/phpredis/releases
cd /docker/php
wget https://github.com/phpredis/phpredis/archive/refs/tags/5.3.4.tar.gz #下载你需要的phpredis版本扩展包
tar -zxvf 5.3.4.tar.gz #解压phpredis扩展包
docker cp /docker/php/phpredis-5.3.4 php:/usr/src/php/ext/redis # 将phpredis包复制到php容器
docker exec -it php bash # 进入php容器
docker-php-ext-install redis # 安装redis扩展,等待安装…
php -m # redis已经在扩展里,安装完成。
php --ri redis # 可以查看redis详细信息
 
安装方法二:pecl
pecl search redis # 搜索是否有redis包
pecl install redis # 可能存到各种缺乏依赖包报错,当前根据提示缺少 igbinary和 libzstd
最后安装步骤如下:
pecl install igbinary
apt-get install libzstd -y
pecl install redis
find / -name php.ini # 查找php配置文件目录
vim /usr/local/ext/php/php.ini # 修改配置文件,加入redis.so igbinary.so
extension=redis.so
extension=igbinary.so
php -m 查看扩展是否成功加载