重编译swoole支持OpenSSL
Dockerfile 方式
注:因为版本更新,可能出现下载的软件不兼容。需要确定你系统版本以及支持的软件版本。
1 | # 使用的是php7.2-fpm |
其他镜像
如果上述方式,不可用,可以更换镜像
pecl安装(手动)
检查是否有安装swoole、swoole-ssl
1
2
3
4
5# 是否安装swoole
pecl list
# 是否启用了swoole-ssl模块 看是否有openssl
php --ri swoole如有安装swoole,但没有启用swoole-ssl
1
2#卸载
pecl uninstall swoole安装依赖
1
2apt-get install libssl-dev
apt-get install openssl查看openssl位置
1
2
3
4openssl version -a
OpenSSL 1.1.0j 20 Nov 2018
OPENSSLDIR: "/usr/lib/ssl"安装swoole
1
2#注:pecl默认使用最新版,如果php版本不是最新版,需要指定支持的版本
pecl install swoole-4.5.6如果需要开启openssl的话,在下边的提示中输入yes
1
2
3
4enable openssl support? [no] : # 询问是否启用openssl
# 为了openssl 起作用,最好加上openssl的目录
enable openssl support? [no] :yes --with-openssl-dir=/usr/lib/ssl验证是否安装成功
1
2# 看是否有openssl
php --ri swoole
wget源码安装
下载:
1
wget https://pecl.php.net/get/swoole-4.5.6.tgz
解压并进入文件夹
1
2
3tar zxvf swoole-4.5.6.tgz
cd swoole-4.5.6生成
config.m4
1
phpize
查看php-config路径
1
2whereis php-config
# php-config: /usr/local/php/bin/php-config配置 Swoole 编译选项并启用
SWOOLE_SSL
:1
./configure --enable-openssl --with-php-config=/usr/bin/php-config
执行
make
命令编译 Swoole:1
make
执行
make install
命令安装编译后的 Swoole:1
make install
编辑 PHP 配置文件(例如
php.ini
)并启用 Swoole 扩展:1
2
3
4vim /etc/php.ini
#在文件中找到扩展部分,添加以下行:
extension=swoole.so检查是否成功
1
2
3php --ri swoole
# 出现 openssl 则表示成功
git方式
安装编译Swoole所需的依赖项:
1
2sudo apt-get update
sudo apt-get install -y php-dev libssl-dev克隆 Swoole 的源代码:
1
git clone https://github.com/swoole/swoole-src.git
进入
swoole-src
目录:1
cd swoole-src
检查
swoole-src
目录下是否有config.m4
文件,如果没有,请运行以下命令生成它:1
phpize
配置 Swoole 编译选项并启用
SWOOLE_SSL
:1
2
3
4
5
6查看php-config路径,并替换下方--with-php-config的路径
whereis php-config
./configure --enable-openssl --with-php-config=your_php-config_path
如果提示 ./configure: 没有那个文件或目录 ,则执行上一步执行
make
命令编译 Swoole:1
make
执行
make install
命令安装编译后的 Swoole:1
make install
编辑 PHP 配置文件(例如
php.ini
)并启用 Swoole 扩展:1
2
3
4vim /etc/php.ini
在文件中找到扩展部分,添加以下行:
extension=swoole.so保存并关闭文件。并重新启动 Web 服务器或 PHP-FPM 进程以使更改生效:
1
2
3sudo service apache2 restart # 如果使用 Apache
或
sudo service php-fpm restart # 如果使用 PHP-FPM
参考:
Comments