PHP安装Swoole支持DTLS协议

2022-07-18 20:37:36 浏览数 (2)

升级GCC
  1. 安装centos-release-scl
代码语言:txt复制
sudo yum install centos-release-scl
  1. 安装devtoolset
代码语言:txt复制
sudo yum install devtoolset-8-gcc*
  1. 激活对应的devtoolset
代码语言:txt复制
scl enable devtoolset-8 bash
  1. 查看版本
代码语言:txt复制
gcc -v
安装新版Openssl
  1. 下载新版Openssl
代码语言:txt复制
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-stable.zip
unzip OpenSSL_1_1_1-stable.zip
  1. 进入目录,指定安装路径,编译
代码语言:txt复制
./configure --prefix=/usr/local/openssl // 指定安装路径
make && make install
  1. 替换当前系统的旧版本 openssl 「先保存原来的」
代码语言:txt复制
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v 
  1. 查看版本
代码语言:txt复制
openssl version
安装新版PHP 7.3.16
  1. 下载php7.3.16, 解压缩wget https://www.php.net/distributions/php-7.3.16.tar.gz tar -zxvf php-7.3.16.tar.gz
  2. 进入目录,指定安装目录编译
代码语言:txt复制
./configure --prefix=/usr/local/php7 --with-openssl-dir=/usr/local/openssl/ --with-openssl --enable-fpm --disable-fileinfo --with-config-file-path=/usr/local/php7/etc --with-config-file-scan-dir=/usr/local/php7/etc/php.d
  1. Make && Make Install
代码语言:txt复制
make && make install
  1. 配置php-fpmcd /usr/local/php7/etc/ mv php-fpm.conf.default php-fpm.conf cd php-fpm.d mv www.conf.default www.conf
  2. 配置php.ini
代码语言:txt复制
cd ~/php-7.3.16  #进入php包目录
cp php.ini-production  /usr/local/php7/etc/php.ini
  1. 开启php-fpm
代码语言:txt复制
/usr/local/php7/sbin/php-fpm
安装Swoole 4.5.0
  1. 下载新版Swoole
代码语言:txt复制
git clone https://github.com/swoole/swoole-src.git
  1. 进入目录编译
代码语言:txt复制
/usr/local/php7/bin/phpize && ./configure --with-openssl-dir=/usr/local/openssl/ --with-php-config=/usr/local/php7/bin/php-config && make && sudo make install
  1. 添加extension=swoole.so到php.ini
代码语言:txt复制
vi /usr/local/php7/etc/php.ini
extension=swoole.so
  1. 查看安装的swoole情况
代码语言:txt复制
/usr/local/php7/bin/php --ri swoole
代码语言:txt复制
[root@localhost swoole-src]# /usr/local/php7/bin/php --ri swoole

swoole

Swoole => enabled
Author => Swoole Team <team@swoole.com>
Version => 4.5.0-alpha
Built => Apr  2 2020 01:37:54
coroutine => enabled
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
openssl => OpenSSL 1.1.1d  10 Sep 2019
pcre => enabled
zlib => 1.2.7
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
async_redis => enabled

Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => On => On
swoole.unixsock_buffer_size => 8388608 => 8388608

0 人点赞