Alibaba Cloud Linux 3 Pro 安装 phpredis 扩展指南

· 代码经验

🚀 博主整理的云服务器优惠活动(点击查看)

在 Alibaba Cloud Linux 3 Pro 系统里怎么装和配 PHP 的 Redis 扩展(也叫 phpredis),这个扩展能让 PHP 和 Redis 数据库互相通信,经常用在缓存、用户会话管理还有消息队列这些地方;文章主要靠命令行操作,提供了一套简单又可以重复使用的安装步骤,适合跑在基于 Anolis OS 8 的云服务器上。

1. 环境准备

在开始装扩展之前,得先把系统更新一下,并且把编译要用的开发工具装好,你可以运行下面这些命令来完成基本设置:

# 刷新软件源并升级系统
sudo dnf makecache
sudo dnf update -y

# 安装编译用的基础开发工具
sudo dnf groupinstall -y "Development Tools"

# 如果还没装 PHP,可以加上这行(可选)
# sudo dnf install -y php php-cli

# 安装 PHP 扩展开发包和 PECL 工具
sudo dnf install -y php-devel php-pear

注意一下,Alibaba Cloud Linux 3 Pro 是基于 Anolis OS 8 做的,它用 dnf 来管理软件包,跟 RHEL 8 或 CentOS Stream 8 差不多。

2. 使用 PECL 安装(推荐方法)

PECL 是 PHP 官方提供的一个工具,专门用来装扩展,装 Redis 扩展特别方便,所以建议优先用这个办法:

# 用 PECL 安装 redis 扩展
sudo pecl install redis

安装的时候,可能会问你要不要打开某些功能,比如 igbinary(一种更快的数据格式)或者 lzf(压缩支持);如果你没有特别的需求,直接按回车用默认选项就行。

如果装成功了,你会看到一行提示,告诉你扩展文件放到了哪里,通常是这样的:

Installing shared extensions:     /usr/lib64/php/modules/

3. 启用扩展并检查是否成功

为了让 PHP 能认出并使用这个新装的扩展,你需要加一个配置文件告诉它去加载:

# 创建配置文件,让 PHP 加载 redis 扩展
echo "extension=redis.so" | sudo tee /etc/php.d/50-redis.ini

然后可以用下面这个命令看看扩展有没有被正确加载:

php -m | grep redis

如果屏幕上出现了 redis 这个词,就说明已经装好了,可以正常使用。

4. 从源代码编译安装(备用方法)

有时候你可能需要某个特定版本的扩展,或者 PECL 装不上,这时候就可以自己下载源码来编译:

# 先装 git(如果还没装的话)
sudo dnf install -y git

# 从官方仓库拉取源代码
git clone https://github.com/phpredis/phpredis.git
cd phpredis

# 生成编译用的脚本
phpize

# 设置编译选项(这里打开了 igbinary 支持)
./configure --enable-redis-igbinary

# 开始编译并把结果装到系统里
make && sudo make install

# 添加配置文件,让 PHP 能找到扩展
echo "extension=redis.so" | sudo tee /etc/php.d/50-redis.ini

这种方法虽然步骤多一点,但好处是可以自己控制版本和功能,适合对系统比较熟的人用。

5. 测试 Redis 连接

为了确认整个流程都跑通了,你可以先在本地装个 Redis 服务,再写个小脚本试试读写数据:

# 安装 Redis 服务
sudo dnf install -y redis

# 启动服务,并让它开机自动运行
sudo systemctl enable --now redis

# 用一段 PHP 代码测试能不能连上、写入和读出数据
php -r "
\$client = new Redis();
\$client->connect('127.0.0.1', 6379);
\$client->set('demo_key', 'Deployment successful on Alibaba Cloud Linux!');
echo \$client->get('demo_key') . PHP_EOL;
"

如果终端输出了下面这句话,就说明一切正常:

Deployment successful on Alibaba Cloud Linux!

6. 常见问题和解决办法

问题一:提示 pecl: command not found
这是因为系统里没装 php-pear
解决方法很简单:运行 sudo dnf install -y php-pear 就行。

问题二:编译时报错,说找不到 php.h 文件
这是缺少 PHP 的开发头文件。
只要装上 php-devel 包就能解决。

问题三:连 Redis 的时候被拒绝了
可能是因为 Redis 没启动,或者配置只允许某些 IP 访问。
你可以先检查 Redis 服务是不是在运行,再打开 /etc/redis.conf 文件,看看 bind 那一行有没有把 127.0.0.1 注释掉;如果没有,本地程序就能正常连上。

7. 结论

讲的方法在 Alibaba Cloud Linux 3 Pro 上能稳定工作。

你可以用 PECL 快速搞定安装,也可以自己编译源码来获得更灵活的控制。不管是 Laravel、ThinkPHP 还是其他 PHP 框架,都能通过这种方式顺利用上 Redis。在正式上线的时候,记得给 Redis 设置密码、限制访问来源,这样系统才更安全。

小建议:在真正用到生产环境之前,最好先在测试机器上完整走一遍流程,确认没问题再部署。