PHP-Redis扩展安装 error: ext/standard/php_smart_str.h: No such file or directory

在源码编译PHP-redis扩展时,遇到缺少头文件问题
【问题描述】
error: ext/standard/php_smart_str.h: No such file or directory 
【问题原因】
PHP安装好的头文件目录:/php/include/php/ext/standard/,这些头文件,在php7之前的版本,是包含 php_smart_str.h 的,但7版本中没有 ,而是 php_smart_string.h ,所以需要根据php的版本来下载不同的redis扩展包;

[ PHP7 ] phpredis下载地址:
(官方) http://pecl.php.net/package/redis

如果使用Github下载的ZIP包,需要用到unzip命令,没有的话,需要安装:

yum install -y unzip zip

解压并进入源码包
unzip phpredis-develop.zip
cd phpredis-develop
生成configure配置文件:
/usr/local/php/bin/phpize
编译安装:
./configure --with-php-config=/usr/local/php/bin/php-config --enable-redis;
make ;
make install;

配置php.ini
#在extension后添加
extension=/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so
查看php-fpm进程号
[ab@t]# ps wxa|grep php
 1642 ?        Ss     0:00 php-fpm: master process (/php/etc/php-fpm.conf)
 1643 ?        S      0:00 php-fpm: pool www                                   
 1644 ?        S      0:00 php-fpm: pool www                                   
 1840 pts/0    S+     0:00 grep php

清除进程

[ab@t]# kill -9 1642 1643 1644

重启php-fpm

 [ab@t]# /php/sbin/php-fpm -c /php/etc/php-fpm.conf

再次查看php-fpm进程号,变更后即重启成功。

查看php加载模块:

[ab@t]# php -v
PHP 7.0.24 (cli) (built: Oct 30 2017 20:23:22) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

[ab@t]# php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysqli
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
redis
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]

[ab@t]# php -m | grep redis
redis

至此,php-redis扩展安装完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值