CodeIgniter - 从本地连接时出现数据库错误
我对开发相当陌生,而且我对codeigniter完全陌生。CodeIgniter - 从本地连接时出现数据库错误
我从我公司的服务器上下载了一个CodeIgniter项目,这是我从以前的开发人员继承而来的。
我需要为网站添加一个新页面。由于我是CI新手,我(显然)不想编辑活动站点,但无法使站点在本地运行。我试图通过运行Yosemite 10.10.5的Mac在终端上通过MAMP或通过PHP服务器在本地服务器上运行它。
我已经将项目文件夹添加到MAMP中的htdocs,但是当我打开http://localhost:8888/index.php/contact时,屏幕为空。当我尝试通过终端访问同一个文件夹使用:
env DB_USER=XXXX DB_PASSWD=XXXX DB_NAME=XXXX php -S localhost:8080
(其中“XXXX”被替换为我们的数据库的用户名和密码)
我收到以下错误:
Unable to connect to your database server using the provided settings.
Filename: core/Loader.php
Line Number: 346
core/Loader.php
的第346行是附图中的public function database
。
事情我已经尝试:
• I've tried changing the
$config['base_url']
to'http://localhost:8888/';
but I still get the same error• Deleting the hostname, username and password from the
database.php
file, still get the same error
我不知道为什么本地版本不能访问数据库时,现场直播可以使用相同的登录凭据?任何帮助非常感谢,因为我刚刚开始这个新的职位,这是我的第一个公司项目之一,它让我难住。我仍然需要弄清楚如何添加页面,但是我甚至无法在本地加载该站点,因此我可以对其进行处理。
更新
这里就是我的database.php
文件看起来像.....它不是建立一个数组:
/* The $active_group variable lets you choose which connection group to make active. By default there is only one group (the 'default' group). The $active_record variables lets you determine whether or not to load the active record class */
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'database_name'; // contains actual name
$db['default']['dbdriver'] = 'mysqli';
$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;
** 链接到我的视频(试图)解释这个问题: **
Link#1:CodeIgniter Database Error Issue YouTube
感谢您的帮助!
如果您运行的是甲基苯丙胺(Mac版)你的MySQL默认密码为“根”
所以数据库配置文件看起来像
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'database_name'; // contains actual name
$db['default']['dbdriver'] = 'mysqli';
$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;
更新$db['default']['password'] = 'root';
配置文件位于application/config/database.php
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost', // pass this
'username' => 'root', // pass this
'password' => '', // pass this
'database' => 'database_name', // pass this
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array()
);
只是传递中,我有提到// pass this
,然后重试参数。
使用CodeIgniter我始终运行在本地主机上复制副本,然后进行任何更改,我需要,从该 – Brad
的活网站,谢谢,我试图在本地主机上运行,并获得数据库错误,如上面的链接上面的视频所示 – Kaden2014
所以我想通了,谢谢非常适合所有的帮助!我(显然)在不同的位置安装了mysql数据库,MAMP无法引用它。我意识到这一点,因为我输入的数据库没有出现在MAMP> PHPMyAdmin中。我遵循了从终端导入数据库的Codeigniter教程 - 然后从终端“php -S localhost:8080”运行内部PHP服务器。这是导致数据库错误的原因 - 没有数据库! MAMP看不到上传到终端文件夹位置的数据库。 – Kaden2014