我对开发相当陌生,对 codeigniter 也完全陌生。
我从公司的服务器下载了一个 CodeIgniter 项目,该项目是我从以前的开发人员那里继承的。
我需要向网站添加一个新页面。由于我是 CI 新手,我(显然)不想编辑实时站点,但我无法让该站点在本地运行。我正在尝试通过 MAMP 或通过运行 Yosemite 10.10.5 的 Mac 终端中的 PHP 服务器在本地服务器上运行它。
我已将项目文件夹添加到 MAMP 中的 htdocs 中,但是当我打开 http://localhost:8888/index.php/contact 时,屏幕为空白。当我尝试使用以下方式通过终端访问同一文件夹时:
env DB_USER=XXXX DB_PASSWD=XXXX DB_NAME=XXXX php -S localhost:8080
(其中“XXXX”替换为我们的数据库用户名和密码)
我收到以下错误:
无法使用提供的设置连接到您的数据库服务器。
文件名:core/Loader.php
线路号码:346
core/Loader.php
的第346行是附图中的public function database
。
我尝试过的事情:
• 我尝试将
更改为$config['base_url']
但仍然遇到相同的错误'http://localhost:8888/';
• 从
文件中删除主机名、用户名和密码,仍然出现相同的错误database.php
我不确定为什么本地版本无法访问数据库,而实时站点可以使用相同的登录凭据?非常感谢任何帮助,因为我刚刚开始这个新职位,这是我为公司的第一个项目之一,它让我感到困惑。我仍然需要弄清楚如何添加页面,但我什至无法在本地加载该网站,因此我可以对其进行处理。
更新
这是我的
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;
** 链接到我的视频(试图)解释这个问题: **
链接 #1:CodeIgniter 数据库错误问题 YouTube
感谢您的帮助!
如果你正在运行MAMP(Mac版本)你的mysql默认密码是“root”
数据库配置文件看起来像这样
$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
,然后重试。
确保 root 在本地主机中有登录权限。一些 MySQL 实例对这些事情非常严格。
je viens de realiser tout sur codeigniter mais je ne parviens a backuver la page sur xamp apres avoir le ";"在 php.ini 和 aussi ajouter "C:\xampp\php" 和环境变量中