PHP Startup redis: Unable to initialize module

5 篇文章 0 订阅
1 篇文章 0 订阅

最近在做php连接redis的实验,遇到一个问题语法是php代码直接使用php命令来测试是没有问题的。使用lnmp环境也是没有问题的,但是lamp就是不可以,最后查看http的日志终于找到问题所在了。

php测试代码如下:

<?php 
session_start(); 
if (!isset($_SESSION['TEST'])) { 
$_SESSION['TEST'] = time(); 
} 
$_SESSION['TEST3'] = time(); 
print $_SESSION['TEST']; 
print "<br><br>"; 
print $_SESSION['TEST3']; 
print "<br></br><br></br>"; 
print session_id(); 
?>

http log:

[Sun Apr 24 23:06:47 2016] [notice] SIGHUP received.  Attempting to restart
PHP Warning:  PHP Startup: redis: Unable to initialize module\nModule compiled with module API=20121212\nPHP    compiled with module API=20100525\nThese options need to match\n in Unknown on line 0
[Sun Apr 24 23:06:47 2016] [notice] Apache/2.2.29 (Unix) PHP/5.4.45 configured -- resuming normal operations
[Sun Apr 24 23:24:21 2016] [notice] SIGHUP received.  Attempting to restart
PHP Warning:  PHP Startup: redis: Unable to initialize module\nModule compiled with module API=20121212\nPHP    compiled with module API=20100525\nThese options need to match\n in Unknown on line 0
[Sun Apr 24 23:24:21 2016] [notice] Apache/2.2.29 (Unix) PHP/5.4.45 configured -- resuming normal operations

分析:

日志非常明显的说明当时编译php使用的api为“API=20100525”,而redis编译使用的api为“API=20121212”

ps:由于之前多次安装过不同版本的apache,所以我自己都不清楚当时编译php时使用的那个版本了(有点尴尬:()

解决方法如下:

使用yum安装一个高版本的httpd,然后重新启动一个httpd服务就可以了(把配置文件和webroot更新一下)。

测试:

curl -x 127.1.1.1:80 www.cf.com/session.php 
1461514249<br><br>1461514249<br></br><br></br>r05vrgop80r2f75t91ss1a2lv5 



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值