Codeigniter - 我看不到数据库错误

时间:2014-07-05 04:59:36

标签: mysql database codeigniter autoload

导航到链接时,我无法在浏览器中看到SQL错误。

详细说明:

CodeIgniter 2.2.0

在我的database.php中我有

$db['default']['dbdriver'] = 'mysql';
$db['default']['db_debug'] = TRUE;

我正在尝试连接旧的MySQL:5.1.73-cll"

我使用linux shell中的MySQL命令测试了IP,用户和密码,它运行正常,我可以连接。

但是当我添加'数据库'到我$autoload['libraries'] autoload.php我的页面完全填空并且没有显示错误消息。如果我删除了数据库'从$autoload['libraries']开始,我的页面加载正确。

如果我能看到错误,我至少会知道问题是什么。

谢谢! 马吕斯

3 个答案:

答案 0 :(得分:0)

其中一个解决方案是在代码顶部添加它 -

ini_set('display_errors', 1);

检查链接: http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors



另外,请检查 ENVIRONMENT 。您可以在基本 index.php

中添加这些设置
define('ENVIRONMENT', 'development');
/*
*---------------------------------------------------------------
* ERROR REPORTING
*---------------------------------------------------------------
*
* Different environments will require different levels of error reporting.
* By default development will show errors but testing and live will hide them.
*/

if (defined('ENVIRONMENT'))
{
   switch (ENVIRONMENT)
   {
      case 'development':
        /* Report all errors */
        error_reporting(E_ALL);

        /* Display errors in output */
        ini_set('display_errors', 1);
      break;

      case 'testing':
      case 'production':
        /* Report all errors except E_NOTICE */
        /* This is the default value set in php.ini */
        error_reporting(E_ALL ^ E_NOTICE);

        /* Don't display errors (they can still be logged) */
        ini_set('display_errors', 0);
      break;

      default:
          exit('The application environment is not set correctly.');
    }
 }

答案 1 :(得分:0)

知道了。看起来主要原因是没有安装php-mysql模块。我安装了PHP,安装了MySQL但不是这个模块。在此之前我还更新了PHP.ini文件,但不确定是否需要它或者无论如何安装php-mysql都是自己做的。但这就是我所做的,希望这会对其他人有所帮助:

步骤

1)更新PHP.INI

创建一个内容为

的info.php文件
<?php phpinfo(); ?>

并启动它以找出PHP.INI文件的正确位置。在&#34; Loaded Configuration File&#34;中检查PHP.ini文件的位置。然后编辑PHP.ini文件

# sudo nano /etc/php4/apache2/php.ini

并向下滚动以查找现有设置

display_errors = Off

并将其更改为

display_errors = On

注意:有2个地方有&#39; display_errors&#39;提到,一个接近文件的顶部,一个稍低,不要添加或取消注释第一部分中的任何行,就像我一样,因为它将被下面的另一行覆盖。只需通过更改&#39;关闭&#39;来编辑display_errors部分。进入&#39; On&#39;这就是我做的事情

2)安装php-mysql

然后安装php-mysql并重启webserver

# sudo apt-get install php5-mysql

3)重启网络服务器

# sudo /etc/init.d/apache2.restart

答案 2 :(得分:0)

您可以通过两种方式查看错误。

更改php.ini文件 设置

error_reporting=E_ALL
display_errors="On"

更改后,您必须重新启动Apache服务器。

另一种选择是 只需在函数中添加以下两行:

error_reporting(E_ALL);
ini_set('display_errors',"On");

无需重启apache服务器。