微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP安装Swoole支持DTLS协议

升级GCC
  1. 安装centos-release-scl
sudo yum install centos-release-scl
  1. 安装devtoolset
sudo yum install devtoolset-8-gcc*
  1. 激活对应的devtoolset
scl enable devtoolset-8 bash
  1. 查看版本
gcc -v
安装新版Openssl
  1. 下载新版Openssl
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-stable.zip
unzip OpenSSL_1_1_1-stable.zip
  1. 进入目录,指定安装路径,编译
./configure --prefix=/usr/local/openssl // 指定安装路径
make && make install
  1. 替换当前系统的旧版本 openssl 「先保存原来的」
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. 查看版本
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. 进入目录,指定安装目录编译
./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
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
cd ~/PHP-7.3.16  #进入PHP包目录
cp PHP.ini-production  /usr/local/PHP7/etc/PHP.ini
  1. 开启PHP-fpm
/usr/local/PHP7/sbin/PHP-fpm
安装Swoole 4.5.0
  1. 下载新版Swoole
git clone https://github.com/swoole/swoole-src.git
  1. 进入目录编译
/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.soPHP.ini
vi /usr/local/PHP7/etc/PHP.ini
extension=swoole.so
  1. 查看安装的swoole情况
/usr/local/PHP7/bin/PHP --ri swoole
[root@localhost swoole-src]# /usr/local/PHP7/bin/PHP --ri swoole

swoole

Swoole => enabled
Author => Swoole Team <[email protected]>
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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐