Centos7 下安装PHP7 phpredis扩展报错解决办法

本文介绍如何通过源码编译的方式安装phpredis模块。首先使用git克隆phpredis源码,接着通过phpize生成配置文件,最后运行make及make install完成安装。如果出现找不到php_smart_str.h文件的错误,则需要检查编译环境是否正确配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hecking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
[root@iZ236oj5mp5Z phpredis-master]# make && make install
/bin/sh /usr/local/src/redis-stable/phpredis-master/libtool --mode=compile cc -I. -I/usr/local/src/redis-stable/phpredis-master -DPHP_ATOM_INC -I/usr/local/src/redis-stable/phpredis-master/include -I/usr/local/src/redis-stable/phpredis-master/main -I/usr/local/src/redis-stable/phpredis-master -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/redis-stable/phpredis-master/redis.c -o redis.lo
mkdir .libs
cc -I. -I/usr/local/src/redis-stable/phpredis-master -DPHP_ATOM_INC -I/usr/local/src/redis-stable/phpredis-master/include -I/usr/local/src/redis-stable/phpredis-master/main -I/usr/local/src/redis-stable/phpredis-master -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/redis-stable/phpredis-master/redis.c -fPIC -DPIC -o .libs/redis.o
In file included from /usr/local/src/redis-stable/phpredis-master/redis.c:27:0:
/usr/local/src/redis-stable/phpredis-master/common.h:3:40: 致命错误:ext/standard/php_smart_str.h:没有那个文件或目录
#include <ext/standard/php_smart_str.h>
^
编译中断。
make: *** [redis.lo] 错误 1

---------2020年5月更新-------------

 这个文章发表的时候是三年前php7刚出来的时候,现在已经不需要切换分支编译了。

       git clone https://github.com/nicolasff/phpredis

/usr/local/php/bin/phpize 

./configure --with-php-config=/usr/local/php/bin/php-config 

make && make install

然后看到了等字样,就说明安装成功了

 

 
<think>我们正在处理用户关于安装phpredis扩展的查询。用户提供了多个引用,这些引用包含了安装步骤的片段。我们需要整合这些信息,提供一个清晰、结构化的安装指南。关键步骤总结自引用:1.下载phpredis源码包(例如从PECL或GitHub)2.解压源码包3.进入解压后的目录4.运行phpize命令(需要指定phpize的路径,例如:`/usr/local/php5.6/bin/phpize`)5.配置(./configure)并指定php-config路径(例如:`./configure--with-php-config=/usr/local/php5.6/bin/php-config`)6.编译(make)7.安装(makeinstall)8.在php.ini中添加扩展(例如:`extension=redis.so`)9.重启PHP服务(如php-fpm)引用[1]和[3]提供了详细的步骤,引用[2]和[4]提供了一些补充信息。注意:在运行phpize之前,确保系统已安装必要的编译工具(如autoconf)。引用[3]和[4]提到了需要安装autoconf和编译工具。我们按照以下结构组织回答:-先决条件(系统工具、PHP开发包)-详细安装步骤(每一步的命令)-验证安装同时,根据指令,我们需要在行内数学表达式(如果有的话)使用$...$,独立公式用$$...$$(但本问题不涉及数学公式,所以可能不需要)。使用中文回答,并生成相关问题。由于用户要求生成相关问题,我们将在最后添加几个相关问题。注意:引用标识要自然地添加在引用的段落末尾。我们参考的引用有[^1][^3][^4]等,但需要根据实际引用内容标注。我们开始撰写回答。</think>### PHP Redis 扩展安装指南 以下是基于 CentOS/Linux 系统的 phpredis 扩展安装完整流程: #### 一、安装前准备 1. **安装编译工具** 确保系统已安装编译依赖(若缺失会报错): ```bash yum install -y wget make gcc gcc-c++ autoconf zlib-devel ``` > 解决 `phpize` 报错 "Cannot find autoconf" 问题[^3][^4] 2. **确认 PHP 路径** 记录关键路径(后续步骤需要): ```bash # PHP 安装目录 php -i | grep "Configuration File" # PHP 扩展目录 php -i | grep "extension_dir" ``` #### 二、安装 Redis 扩展 1. **下载源码包** 从 PECL 官方获取稳定版本: ```bash wget https://pecl.php.net/get/redis-5.3.7.tgz # 版本号可替换 tar -zxvf redis-5.3.7.tgz cd redis-5.3.7 ``` 2. **生成编译配置** 使用 PHP 工具链准备编译环境: ```bash /usr/local/php/bin/phpize # 替换为实际 phpize 路径 ``` > 成功提示:`Configuring for: ... Zend Module Api No: ...`[^3] 3. **配置编译参数** 指定 PHP 配置路径: ```bash ./configure --with-php-config=/usr/local/php/bin/php-config # 替换实际路径 ``` 4. **编译并安装** ```bash make && make install ``` > 成功标志:出现 `Installing shared extensions: /path/to/extensions/`[^1][^2] #### 三、启用扩展 1. **修改 PHP 配置** 在 `php.ini` 中添加扩展: ```ini extension=redis.so # 或完整路径 extension=/path/to/redis.so ``` 2. **重启 PHP 服务** ```bash systemctl restart php-fpm # 或 apachectl restart ``` #### 四、验证安装 1. **检查扩展状态** ```bash php -m | grep redis # 终端查看 ``` 2. **通过 phpinfo() 验证** 创建测试文件: ```php <?php phpinfo(); ``` 访问页面搜索 `redis` 模块信息[^3]。 > **常见问题排查** > - 路径错误:确保所有路径与实际安装位置匹配 > - 权限问题:`make install` 需 root 权限 > - 版本冲突:PHP 版本需与扩展版本兼容[^1]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值