asdf安装指定版本的php
# asdf查看所有版本的php
asdf list-all php
1. 选择安装8.1.31
asdf install php 8.1.31
1. 查看已安装的php版本
asdf list php
1. 指定全局的php版本
asdf global php 8.1.31
安装redis扩展
# 进入 PHP 安装目录
cd $(asdf where php)
1. 下载并编译 Redis 扩展
git clone https://github.com/phpredis/phpredis.git
cd phpredis
phpize
./configure
make && make install
1. 在 conf.d 目录下创建单独的配置文件
echo "extension=redis.so" > $(php --ini | grep "Scan for additional .ini files" | awk '{print $7}')/phpredis.ini
1. 检查redis
php --ri redis
1. 清理
cd ..
rm -rf phpredis
安装Swoole扩展
# 进入当前 PHP 版本的安装目录
cd $(asdf where php)
1. 下载并编译 Swoole 扩展
git clone https://github.com/swoole/swoole-src.git
1. 这里建议下载release的源码,因为master分支可能存在开发中的不完整功能导致编译失败,这里选择v5.1.6
wget https://github.com/swoole/swoole-src/archive/refs/tags/v5.1.6.tar.gz
1.使用 tar 命令解压
tar -zxvf v5.1.6.tar.gz
2. 解压到指定目录
tar -zxvf v5.1.6.tar.gz -C /path/to/destination
3. 查看压缩包内容(不解压)
tar -ztvf v5.1.6.tar.gz
4. 解压后进入目录
tar -zxvf v5.1.6.tar.gz
cd swoole-src-5.1.6/
5. 如果遇到权限问题
sudo tar -zxvf v5.1.6.tar.gz
6. 解压后清理(可选)
rm v5.1.6.tar.gz
7. 解压后编译(如果是 Swoole 源码)
phpize
./configure
1. 可选一些编译配置的额外参数,用于开启某些特性
1. odbc需要sudo apt-get install unixodbc-dev
1. cares需要sudo apt-get install libc-ares-dev
1. /usr/bin/ld: cannot find -ljemalloc需要sudo apt-get install libjemalloc-dev
./configure --enable-openssl --enable-swoole-curl --enable-cares \
--enable-brotli --enable-swoole-pgsql --with-swoole-odbc="unixODBC,/usr" --enable-swoole-sqlite
make && make install
1. 创建单独的 swoole.ini 配置文件
echo "extension=swoole.so" > $(php --ini | grep "Scan for additional .ini files" | awk '{print $7}')/swoole.ini
1. 检查swoole
php --ri swoole
1. 清理
cd ..
rm -rf swoole-src-5.1.6