2024-01-04
服务器
php8.1、swoole5.1
804
一、安装扩展
1.安装依赖
cd /usr/local/download
wget https://curl.se/download/curl-7.87.0.tar.gz
tar -zxvf curl-7.87.0.tar.gz
cd curl-7.87.0
# 先移除旧版本,避免报错:undefined reference to `curl_pushheader_bynum'
yum remove curl-devel
./configure --with-ssl
make clean
make && make install
# 更新配置文件(本地虚拟机环境)
source /etc/profile
curl --version # 查看版本
二、安装swoole5.1
1.下载安装 swoole
建议安装 swoole 5.1.2 版本,因为 swoole 5.1.3 版本及以上需要安装 libbrotli 扩展
cd /usr/local/download
wget https://pecl.php.net/get/swoole-5.1.2.tgz
tar -zxvf swoole-5.1.2.tgz
cd swoole-5.1.2
/usr/local/software/php8.1/bin/phpize
./configure --enable-openssl --enable-swoole-curl --with-php-config=/usr/local/software/php8.1/bin/php-config
make clean
make && make install
# 安装后目录
/usr/local/software/php8.1/lib/php/extensions/no-debug-non-zts-20210902/
# php.ini 文件中加入
vim /usr/local/software/php8.1/etc/php.ini
extension=swoole.so
swoole.use_shortname = off
# 检查是否安装成功
php81 --ri swoole
# 解决报错:Object of class Swoole\Curl\Handler could not be converted to int
php81 --ri swoole | grep curl
curl-native => enabled
2.下载安装 swoole tracker(可选)
swoole 官网:https://business.swoole.com/SwooleTracker/download/
cd /usr/local/software/php8.1/lib/php/extensions/no-debug-non-zts-20210902/
wget https://business.swoole.com/static/tracker/20221019/swoole_tracker81.so
chmod 755 swoole_tracker81.so
mkdir -p /opt/swoole/var/run/tracker/ # 创建运行文件地址
# php.ini 文件中加入
vim /usr/local/software/php8.1/etc/php.ini
zend_extension=/usr/local/software/php8.1/lib/php/extensions/no-debug-non-zts-20210902/swoole_tracker81.so
;打开总开关,tracker.enable_malloc_hook=1 时需关闭
tracker.enable=0
;采样率 例如:100%
tracker.sampling_rate=100
;开启内存泄漏检测时添加,默认 0 关闭状态
tracker.enable_memcheck=1
;Leak 检测开关,tracker.enable_malloc_hook=1 之后其他的功能均不可用,只能进行内存泄漏检测
tracker.enable_malloc_hook=1
php81 --ri swoole_tracker # 检测是否开启
# php-cli 打印日志
vim /tmp/trackerleak # tracker 日志
php81 -r "trackerAnalyzeLeak();" # 查看日志
php81 -r "trackerCleanLeak();" # 清除日志