Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法在codeigniter中自动/手动加载数据库库_Php_Windows_Codeigniter - Fatal编程技术网

Php 无法在codeigniter中自动/手动加载数据库库

Php 无法在codeigniter中自动/手动加载数据库库,php,windows,codeigniter,Php,Windows,Codeigniter,我无法在CodeIgniter的默认提取代码中加载数据库库 1) 通过autoload.php $autoload['libraries'] = array('database'); 2) 内部控制器通过 $this->load->library("database"); 或 错误消息:由于发生内部服务器错误,无法显示页面 环境:CodeIgniter 2.1.3、IIS上的PHP5.2.13(ISAPI)、MySQL(5.0.45-community-nt)、Plesk 我已经

我无法在CodeIgniter的默认提取代码中加载数据库库

1) 通过autoload.php

$autoload['libraries'] = array('database');
2) 内部控制器通过

$this->load->library("database");

错误消息:由于发生内部服务器错误,无法显示页面

环境:CodeIgniter 2.1.3、IIS上的PHP5.2.13(ISAPI)、MySQL(5.0.45-community-nt)、Plesk

我已经确认用普通PHP编写的代码允许我访问数据库

一旦我删除此库,我就可以看到该页面。我可以加载其他库,如会话,以及我的自定义库。你知道我遗漏了什么吗

以下是我的数据库配置设置:

$active_record = TRUE;  

$db['default']['hostname'] = 'localhost';  
$db['default']['username'] = 'username';  
$db['default']['password'] = 'password';  
$db['default']['database'] = 'databasename';  
$db['default']['dbdriver'] = 'mysql';  
$db['default']['dbprefix'] = '';  
$db['default']['pconnect'] = TRUE;  
$db['default']['db_debug'] = TRUE;  
$db['default']['cache_on'] = FALSE;  
$db['default']['cachedir'] = '';  
$db['default']['char_set'] = 'utf8';  
$db['default']['dbcollat'] = 'utf8_general_ci';  
$db['default']['swap_pre'] = '';  
$db['default']['autoinit'] = TRUE;  
$db['default']['stricton'] = FALSE;

您可以检查服务器日志,也可以通过config.php启用CI日志

/*
|--------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------
|
| If you have enabled error logging, you can set an error threshold to
| determine what gets logged. Threshold options are:
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
|   0 = Disables logging, Error logging TURNED OFF
|   1 = Error Messages (including PHP errors)
|   2 = Debug Messages
|   3 = Informational Messages
|   4 = All Messages
|
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 4;
转到config.php的第206行

/*
|--------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------
|
| If you have enabled error logging, you can set an error threshold to
| determine what gets logged. Threshold options are:
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
|   0 = Disables logging, Error logging TURNED OFF
|   1 = Error Messages (including PHP errors)
|   2 = Debug Messages
|   3 = Informational Messages
|   4 = All Messages
|
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 4;
将值设置为4,并检查
/application
文件夹中是否有
775 chmod/logs
目录,如果没有
创建该目录
,CI将自动在该目录中创建日志文件

您可以通过这种方式检查任何CI错误

正如您在日志文件中报告的那样

更改/config目录下的database.php第50行:

$db['default']['pconnect'] = TRUE;


好的,根据日志,当我设置

$db['default']['pconnect']=TRUE

$db['default']['pconnect']=FALSE


数据库库已加载。

我遇到了同样的问题,花了大约5个小时的时间通过堆栈跟踪和mysql日志进行故障排除。原来原因是无关的,但我在这里张贴,以挽救任何人的麻烦,我有


我从头开始构建虚拟机,但我显然忘记了为php5安装MySQL驱动程序。我的症状完全一样,只是一个空白屏幕——根本没有反应。对于将来看到这种情况的人,请确保您拥有mysql驱动程序!!30秒的定位

您似乎没有安装php5 mysql。 在EC2或VM中,请记住安装php5 mysql

sudo-apt-get安装php5-mysql


您的代码中有一个重复的函数,或者可能是php错误。您是否在本地测试了Codeigniter代码。。如果是,则应显示有关错误的更多信息。如果您正确配置了数据库设置,请检查此约定错误,很可能是db config错误。你能发布你的数据库配置文件吗?我在问题中添加了数据库设置。使用相同的用户名和密码,我可以使用普通PHP进行连接,但CodeIgniter会给我一个错误(当启用日志时),
mysql\u pconnect()由于安全原因被禁用
无法连接到数据库
。启用日志后,我会得到严重性:
警告-->mysql\u pconnect()由于安全原因已被禁用…\mysql\mysql\u driver.php 91和
错误-2012-12-27 02:25:09-->无法连接到数据库
。但是,使用相同的用户名和密码,我可以用普通PHP连接到数据库。确定检查database.PHP行50$db['default']['pconnect']=TRUE;试一试FALSE@Ali不要忘记检查答案;)
$db['default']['pconnect'] = FALSE;