Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter]Codeigniter - mysqli::real_connect():
Forum PHP.pl > Forum > PHP > Frameworki
lukasheek88
Witam serdecznie,

mam problem z podłączeniem się do MySQL. Używam Codeignitera. Podłączając bazę mysql z home.pl, wszytko działa bez zarzutów. Próbując podłączyć inną bazę otrzymuję taki kominikat (do phpmyadmin zaloguję się bez problemu):

  1. A PHP Error was encountered
  2.  
  3. Severity: Warning
  4.  
  5. Message: mysqli::real_connect(): (HY000/2002): Prba po��czenia nie powioda si, poniewa po��czona strona nie odpowiedziaa poprawnie po ustalonym okresie czasu lub utworzone po��czenie nie powiodo si, poniewa po��czony host nie odpowiedzia.
  6.  
  7. Filename: mysqli/mysqli_driver.php
  8.  
  9. Line Number: 202


Ktoś podpowie co jest przyczyną?

gitbejbe
http://lmgtfy.com/?q=cedeigniter+HY000%2F2002
lukasheek88
Nim napisałem na forum, sprawdziłem tego typu zapytania. Połączenie mam dobrze skonfigurowane. Tak samo łącze się z inną bazą na home.pl i wszystko jest ok.
viking
Łączysz się z hostem zdalnie? Przyjmuje takie połączenia?
lukasheek88
Łączę się zdalnie. Przetestowałem połączenie wykorzystując:
<?php
$dbh = new PDO('mysql:host=adres_ip;dbname=test', $user, $pass);
?>

i działa bez zarzutów. Chcąc to zrobić przy wykorzystaniu CodeIgnitera wyskakuje mi ten błąd co na początku. Może mieć tutaj wpływ na to wersja MySQL ?
Pyton_000
pokaż config
lukasheek88
  1. $active_group = 'default';
  2. $query_builder = TRUE;
  3.  
  4. $db['default'] = array(
  5. 'dsn' => '',
  6. 'hostname' => 'adres_ip',
  7. 'username' => 'login',
  8. 'password' => 'haslo',
  9. 'database' => 'baza',
  10. 'dbdriver' => 'mysqli',
  11. 'dbprefix' => '',
  12. 'pconnect' => FALSE,
  13. 'db_debug' => (ENVIRONMENT !== 'production'),
  14. 'cache_on' => FALSE,
  15. 'cachedir' => '',
  16. 'char_set' => 'utf8',
  17. 'dbcollat' => 'utf8_general_ci',
  18. 'swap_pre' => '',
  19. 'encrypt' => FALSE,
  20. 'compress' => FALSE,
  21. 'stricton' => FALSE,
  22. 'failover' => array(),
  23. 'save_queries' => TRUE
  24. );
  25.  
Pyton_000
Wpisz w `dns` 'mysql:host=adres_ip;dbname=test'
lukasheek88
Dalej nie działa sad.gif

Sprawdziłem skryptem ten adres z którym łączę się z bazą danych:

  1. <?php
  2. $cfg['socket_timeout'] = 2; // 2 sekundy powinny wystarczyć
  3.  
  4. $server_list[0]['name'] = 'Serwer WWW';
  5. $server_list[0]['ip'] = '97.74.31.133';
  6. $server_list[0]['port'] = 3306;
  7.  
  8.  
  9. for($h = 0, $tmp['how'] = count($server_list); $h < $tmp['how']; ++$h)
  10. {
  11. $handle = @fsockopen($server_list[$h]['ip'], $server_list[$h]['port'], $tmp['error']['number'], $tmp['error']['message'], $cfg['socket_timeout']);
  12.  
  13. echo $server_list[$h]['name'].' jest '.($handle ? 'online' : 'offline').'<br />';
  14.  
  15. if($handle)
  16. {
  17. fclose($handle);
  18. }
  19. }
  20. ?>


Wyświetla że serwer jest offline. Co może być tego przyczyną ? Normalnie phpMyAdminem się połączę.

Wrzuciłem całą stronkę na serwer i tam połączenie jest ok. Nie zmieniałem adresu ip na localhost.
Pyton_000
Czyli dostęp do BD jest tylko z localhost.
lukasheek88
Dokładnie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.