用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2953|回复: 13
收起左侧

[已解决] CI 3.1.0 数据库localhost连接正常,生产服务器上异常 Message: mys...

[复制链接]
发表于 2016-12-15 12:06:12 | 显示全部楼层 |阅读模式

CI 3.1.0 数据库localhost连接正常,生产服务器上异常 ,不停的进入死循环.
请问谁遇到过如此问题,帮忙看下,谢谢。

一、数据库默认配置如下:
$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
        'dsn'        => '',
        'hostname' => 'localhost',
        'username' => 'root',
        'password' => '146123',
        'database' => 'my_database',
        'dbdriver' => 'mysqli',
        'dbprefix' => '',
        'pconnect' => FALSE,
        'db_debug' => (ENVIRONMENT !== 'production'),
        'cache_on' => FALSE,
        'cachedir' => '',
        'char_set' => 'utf8',
        'dbcollat' => 'utf8_general_ci',
        'swap_pre' => '',
        'encrypt' => FALSE,
        'compress' => FALSE,
        'stricton' => FALSE,
        'failover' => array(),
        'save_queries' => TRUE
);


二、报错如下:

A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect():
Filename: mysqli/mysqli_driver.php
Line Number: 202
Backtrace:
File: C:\wamp\www\algo\application\controllers\Auth.php
Line: 8
Function: database
File: C:\wamp\www\algo\index.php
Line: 315
Function: require_once

A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect():
Filename: mysqli/mysqli_driver.php
Line Number: 202
Backtrace:
File: C:\wamp\www\algo\application\controllers\Auth.php
Line: 8
Function: database
File: C:\wamp\www\algo\index.php
Line: 315
Function: require_once

A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/wamp/www/algo/system/database/DB_driver.php
Line Number: 436


q.png
发表于 2016-12-15 18:34:03 | 显示全部楼层
sogansogan 发表于 2016-12-15 15:21
我生产服务器、本地服务器   php版本都是 5.5.12

mysqli::real_connect() 这个函数报了个警告,你可以试试原生 PHP 是不是报错,因为 CI 也是调用的 PHP 函数连接的数据库。如果原生 PHP 也有问题,还是说明这个 mysqli 扩展有问题。
 楼主| 发表于 2016-12-15 12:54:44 | 显示全部楼层
Hex 发表于 2016-12-15 12:28
看起来应该是生产服务器环境有问题,要具体看看是什么问题,建议重装 PHP 和相关 mysql 扩展。 ...

现在问题关键在于 之前的版本 define('CI_VERSION',        '1.7.2'); 的生产系统稳定运行着。  难道1.7.2比3.1.0更好。。谢谢
发表于 2016-12-15 13:39:30 | 显示全部楼层
sogansogan 发表于 2016-12-15 12:54
现在问题关键在于 之前的版本 define('CI_VERSION',        '1.7.2'); 的生产系统稳定运行着。  难道1.7.2比3.1. ...

1.7.2 和 3.1.0 对服务器的要求差别太大了。

所以,升级 CI 后你的服务器肯定是需要做调整。
发表于 2016-12-15 12:28:31 | 显示全部楼层
看起来应该是生产服务器环境有问题,要具体看看是什么问题,建议重装 PHP 和相关 mysql 扩展。
 楼主| 发表于 2016-12-15 12:56:21 | 显示全部楼层
Hex 发表于 2016-12-15 12:28
看起来应该是生产服务器环境有问题,要具体看看是什么问题,建议重装 PHP 和相关 mysql 扩展。 ...

应该排除是生产服务器问题。因为上面跑着其它业务。
发表于 2016-12-15 13:40:21 | 显示全部楼层
sogansogan 发表于 2016-12-15 12:56
应该排除是生产服务器问题。因为上面跑着其它业务。

不是说服务器有问题,而是可能 CI 需要的某些东西不正常,具体是什么,需要到你的服务器上看一下。
发表于 2016-12-15 13:59:57 | 显示全部楼层
配置下dsn试试:
mysql:host=127.0.0.1;port=3306;dbname=my_database

如果还是不行再把dbdriver改为pdo试试。
 楼主| 发表于 2016-12-15 14:02:26 | 显示全部楼层
Hex 发表于 2016-12-15 13:39
1.7.2 和 3.1.0 对服务器的要求差别太大了。

所以,升级 CI 后你的服务器肯定是需要做调整。 ...

从1.7.2就开始用CI了。后来的所有PHP项目都是1.7.2框架。今年闲着没事说用3.1看看。。。结果 一下掉进坑了。。
发表于 2016-12-15 14:12:47 | 显示全部楼层
sogansogan 发表于 2016-12-15 14:02
从1.7.2就开始用CI了。后来的所有PHP项目都是1.7.2框架。今年闲着没事说用3.1看看。。。结果 一下掉进坑 ...

CI 3.1 需要 PHP 5.3.7 看看你的 PHP 版本满足吗?
 楼主| 发表于 2016-12-15 15:21:07 | 显示全部楼层
Hex 发表于 2016-12-15 14:12
CI 3.1 需要 PHP 5.3.7 看看你的 PHP 版本满足吗?

我生产服务器、本地服务器   php版本都是 5.5.12

本版积分规则