Когда я пытаюсь загрузить этот проект в моем домене, столкнувшись с ошибкой «Невозможно подключиться к серверу базы данных, используя предоставленные настройки»
Я проверил файл config.php и database.php, и вся информация верна:
$db['default']['hostname'] = "etc.com"; $db['default']['username'] = "etc"; $db['default']['password'] = "etc@etc"; $db['default']['database'] = "visiting_link"; $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";
Является ли какое-либо решение этой проблемы? пожалуйста, обратитесь к любому вспомогательному материалу. Я использую fileZilla.
Благодаря !
Установка «db_debug» на false решила мою проблему.
Я использую Snow Leopard.
EDIT: db_debug просто обфускал мое направление. Решение в моем случае было только ссылкой на mysql.sock, как было решено по этому вопросу: Предупреждение: mysql_connect (): [2002] Нет такого файла или каталога (попытка подключения через unix: ///tmp/mysql.sock) в
OS X использует /tmp/mysql.sock, и по умолчанию php.ini ссылается на /var/mysql/mysql.sock. Просто создание symlink решает проблему:
sudo mkdir -p /var/mysql/ && cd /var/mysql/ sudo ln -s /tmp/mysql.sock ./mysql.sock
Попробуйте установить 'dbdriver' в 'mysqli'
$db['default']['dbdriver'] = "mysqli";
Это улучшенное расширение MySQL ( http://php.net/manual/en/book.mysqli.php ), и ваш сервер может быть настроен на использование этого, а не на стандартное расширение MySQL.
Я видел, как это произошло несколько раз, когда все остальные настройки верны, поскольку соединение не будет выполнено, если выбран неправильный драйвер.
Если настройки базы данных верны, чем-то в другом месте:
возможно, база данных не принимает подключения нигде; в этом случае вам нужно разрешить соединения с вашего «имени пользователя» @ «IP-адрес сервера»,
возможно, PHP или сам сервер не разрешает соединение из-за установки php.ini, брандмауэра или чего-то еще
Вернемся к настройкам CI DB, вы должны быть уверены, что они верны. Вы уверены, что «имя хоста» верное?
если вы используете codeigniter 3, то используйте последнюю версию php. Как только я получил эти ошибки, но затем обновляю свой php, он работает после успешной установки codeigniter в моем проекте.
И, пожалуйста, следуйте в своем приложении / config / database.php
$active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'db_bdtimes', // your database name 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), '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'] ['hostname'] = "localhost";
Если вы столкнулись с этой проблемой в среде совместного размещения. Тогда я думаю, что вы должны предоставить учетные данные базы данных так же, как учетные данные cpanel / hosting.
$db['default']['hostname'] = "localhost"; $db['default']['username'] = "cpanel/hosting username"; $db['default']['password'] = "cpanel/hosting password"; $db['default']['database'] = "dbname";
Это решило мою проблему при развертывании Cignignign CMS на сервере, хотя оно отлично работало в localhost с атрибутом TRUE. измените эту строку в файле database.php следующим образом:
$db['default']['pconnect'] = FALSE;
Также ПРОВЕРЬТЕ, если эта строка соответствует настройке базы данных вашего сервера (также для всех таблиц):
$db['default']['dbcollat'] = "utf8_general_ci";