我使用MySQL驱动程序就好了.我想改用MySQL驱动程序,但是只要我更改它(只需在MySQL末尾添加'i',并添加端口号)我就会收到以下错误消息
发生数据库错误
无法使用提供的设置连接到数据库服务器.
文件名:core/Loader.php
行号:232
我的设置看起来像这样:
$db['default']['hostname'] = $hostname;
$db['default']['username'] = $username;
$db['default']['password'] = $password;
$db['default']['database'] = $database;
$db['default']['dbdriver'] = 'mysqli';
$db['default']['port'] = "3306";
$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;
where
$hostname = 'localhost';
$username = 'myusernamegoeshere';
$password = 'mypasswordgoeshere';
$database = 'mydatabasenamegoeshere';
Run Code Online (Sandbox Code Playgroud)
我正在使用:
CI 2.0.2 php 5.3.4 Apache/2.2.17(Unix)mysql 5.5.13 mysql.default_port 3306
我做错了吗?
谢谢,
有人可以帮我弄这个吗?我觉得我现在已经在墙上撞了两个多小时了.
我已经Apache 2.2.8 + PHP 5.2.6安装在我的机器上,.htaccess下面的代码工作正常,没有错误.
RewriteEngine on
RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我的托管服务提供商服务器上的相同代码给我一个404错误代码并输出only: No input file specified.index.php就在那里.我知道他们安装了Apache(无法在任何地方找到版本信息),他们正在运行PHP v5.2.8.
我在Windows XP 64-bit,他们正在运行的一些Linux与PHP在CGI/FastCGI模式.任何人都可以建议可能是什么问题?
PS.如果重要的是CodeIgniter使用友好的URL.
UPDATE1:
mod_rewrite 安装并打开.
我注意到的是,如果我RewriteRule改为/index.php?$1(问号而不是正斜杠),它会进入无限循环.无论如何,使用问号不是一个选项,因为CodeIgniter(必需)不会以这种方式工作.
当我直接请求index.php时,主页也可以使用: example.com/index.php
我开始认为可能是apache认为一旦添加了斜杠,它就不再是一个文件了,而是一个文件夹.如何改变这种行为?
更新2:
我错了.
Apache正确处理这些URL.
请求http://example.com/index.php/start/(主页)或任何其他有效地址有效.
似乎Apache只是因为某种原因没有转发查询.
更新3:
只是为了清楚我想要实现的目标.
我想重写这样的地址:
http://www.example.com/something/ => http://www.example.com/index.php/something/ http://www.example.com/something/else/ => http:// www.example.com/index.php/something/else/