mysqli :: real_connect():标头和客户端库次要版本不匹配

时间:2016-09-27 14:46:53

标签: php codeigniter mysqli

A PHP Error was encountered

Severity: Warning

Message: mysqli::real_connect(): Headers and client library minor version mismatch. Headers:50630 Library:100027

Filename: mysqli/mysqli_driver.php

Line Number: 202

Backtrace:

File: /home/clientname/public_html/application/controllers/Main.php
Line: 14
Function: __construct

File: /home/clientname/public_html/index.php
Line: 293
Function: require_once

我收到了昨天没有显示的这种错误。我甚至没有更改我的代码甚至是codeigniter系统代码。

我尝试使用此代码更改配置

$config['sess_driver'] = 'database';
$config['sess_save_path'] = 'ci_sessions';

并放置此数据库(基于codeigniter用户指南)

CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(40) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
        `data` blob NOT NULL,
        KEY `ci_sessions_timestamp` (`timestamp`)
);

但仍然出现问题 可能的原因是什么?解决方案是什么?

2 个答案:

答案 0 :(得分:0)

您的问题可能已经解决,但是我正在为下一个访客提供解决方法。您的代码可能是相同的,但是不知何故某些php驱动程序或mysql服务器/客户端版本可能已更新,因此现在无法使用。我遇到了同样的问题,发现删除php-mysql(rpm -e --nodeps php-mysql)和安装本机驱动程序php-mysqlnd(yum install php-mysqlnd)可以解决此问题。不要忘记重新启动httpd(service httpd restart)。试试吧!

N.B:我假设您是root用户,如果未添加sudo(如果您具有sudo权限:P,如果没有,请询​​问您的管理员)。

答案 1 :(得分:0)

如果您阅读旧代码并且不想更改正在运行的内容 这是一种解决方法:

在system \ database \ drivers \ mysqli \ mysqli_driver.php中 第202

围绕mysqli-> real_connect 与

$err_level = error_reporting(E_ERROR);
// code containing mysqli->real_connect
error_reporting($err_level); 

这是较低的错误报告级别 显示错误但不显示警告