Это проект codeigniter. моя информация в базе данных верна. Она отлично работает в localhost. Но после загрузки моего проекта на хостинг сайт все равно показывает ошибку «доступ запрещен».
Это моя база данных:
$db['default'] = array(
'dsn' => '',
'hostname' => 'telihatyhighschool.edu.bd',
'username' => 'db_username',
'password' => 'db_password',
'database' => 'db_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array() ,
'save_queries' => TRUE
);
Как я могу решить это?
В cpannel фактически имя пользователя и имя базы данных имеют префикс имени пользователя cpanel, например
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost'; //literaly put localhost
$db['default']['username'] = 'cpanelusername_root';
$db['default']['password'] = 'password';
$db['default']['database'] = 'cpanelusername_db name';
$db['default']['dbdriver'] = 'mysqli'; ///use this extension
$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;
в более простых словах
Host = localhost (literally put localhost)
Database name = (cpanelUsername_databaseName)
Database username = (cpanelUsername_databaseUsername)
Database password = (******)
НОТА:
При подключении к базе данных вам необходимо убедиться, что:
Ваши соединения MySQL могут использовать 127.0.0.1 или IP-адрес вашего сервера, и MySQL будет отклонять соединение, если доступ не предоставляется для определенного используемого IP-адреса.
Проверьте таблицы разрешений (при необходимости, перезагрузку грантов) на сервере и подключитесь к ним.
Regrant Preveliges от:
GRANT ALL PRIVILEGES on *.* to 'user'@'IP' IDENTIFIED BY '*UserPass*';
Если ваш хостинг-сервер Linux,
+ Изменить hostname
значение для localhost
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'user',
'password' => 'XXXXXXXX',
'database' => 'mydbname',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array() ,
'save_queries' => TRUE
);
Да, я решил эту проблему, меняя
$ db [‘default’] = array (‘dsn’ => », ‘hostname’ => ‘telihatyhighschool.edu.bd’,
в
$ db [‘default’] = array (‘dsn’ => », ‘hostname’ => ‘localhost’,
У меня была та же ошибка, но все ошибки решаются путем добавления привилегий этому пользователю
Попробуйте использовать простой пароль без специальных символов, ниже приведен пример:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'password',
'password' => 'Mynewpass@756',
'database' => 'database_name',
);