Intereting Posts
Убедитесь, что строка соответствует требуемому формату octobercms Планирование задания не работает проблема Получить дату, месяц Год отдельно Из базы данных в Php-файле? Числа округления PHP Как отсортировать результаты полнотекстового поиска MYSQL по релевантности Строгие стандарты: только переменные должны назначаться по ссылке PHP 5.4 Kohana v3.1.0 ORM _ignored_columns – теперь, когда он ушел, что мне делать вместо этого? Вставка в сериализованный массив в PHP Неверные настройки DNS, php_network_getaddresses: getaddrinfo failed Имя или услуга неизвестны, nslookup Создание интерфейса в PHP, который может указать тип, чтобы определить, какой класс использовать PHP preg_replace stripping PHP $ _SESSION Возвращение пустого массива даже когда значения заданы Использование сеанса в пользовательском промежуточном программном обеспечении в laravel Как игнорировать перемещенный заголовок с файлом_get_contents в PHP? Преобразование String в массив в JavaScript

Mysqli на WAMP, попытка подключения к ошибке не выполнена

Добавлена ​​информация: я попробовал ее с новой установкой codeigniter, просто добавив $this->load->database ( ); к контроллеру по умолчанию запускает ту же ошибку.


Я проверил phpinfo и установил mysqli. Я проверил его с помощью следующего кода, и он работает.

Тем не менее, когда я открываю один из моих проектов Codeigniter, он показывает ошибку: попытка подключения не удалась, почему?

Все это означает, что с Codeigniter что-то не так?

 <?php $mysqli = new mysqli("localhost", "root", "", "myDatabase"); /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } /* check if server is alive */ if ($mysqli->ping()) { printf ("Our connection is ok!\n"); } else { printf ("Error: %s\n", $mysqli->error); } /* close connection */ $mysqli->close(); ?> /*** Results in : Our connection is ok! ***/ 

Возникла ошибка PHP

Уровень важности: предупреждение

Сообщение: mysqli :: real_connect (): (HY000 / 2002): попытка подключения не удалась, потому что связанная сторона не ответила должным образом через какое-то время или не удалось установить соединение, потому что подключенный хост не смог ответить.

Имя файла: mysqli / mysqli_driver.php

Номер строки: 135

Phpinfo Screen grab

Это код базы данных в вопросе, расположение файла системного кода: system / database / drivers / mysqli / mysqli_driver.php

 // -------------------------------------------------------------------- /** * Database connection * * @param bool $persistent * @return object * @todo SSL support */ public function db_connect($persistent = FALSE) { // Do we have a socket path? if ($this->hostname[0] === '/') { $hostname = NULL; $port = NULL; $socket = $this->hostname; } else { // Persistent connection support was added in PHP 5.3.0 $hostname = ($persistent === TRUE && is_php('5.3')) ? 'p:'.$this->hostname : $this->hostname; $port = empty($this->port) ? NULL : $this->port; $socket = NULL; } $client_flags = ($this->compress === TRUE) ? MYSQLI_CLIENT_COMPRESS : 0; $mysqli = mysqli_init(); $mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 10); if ($this->stricton) { $mysqli->options(MYSQLI_INIT_COMMAND, 'SET SESSION sql_mode="STRICT_ALL_TABLES"'); } return $mysqli->real_connect($hostname, $this->username, $this->password, $this->database, $port, $socket, $client_flags) ? $mysqli : FALSE; } 

Файл конфигурации

 $active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'myProject', 'dbdriver' => 'mysql', '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 ); 

Я понял это, и я надеюсь, что решение поможет кому-то столкнуться с той же проблемой, что и я.

Поскольку мой сервер работал медленно, я искал решения, я много пробовал, но ничего не работало, а затем я изменил имя хоста для подключения к базе данных с localhost на 127.0.0.1 и это сработало. Это изменение заставило mysqli работать, и это сделало мой сервер намного быстрее

Итак, теперь новые параметры конфигурации для проекта codeigniter выглядят следующим образом:

 $db['default'] = array( 'dsn' => '', 'hostname' => '127.0.0.1', // See the change 'username' => 'root', 'password' => '', 'database' => 'myProject', 'dbdriver' => 'mysqli', // See the change '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 );