Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ROZWIĄZANE!] Problem z połączeniem w PHP
Forum PHP.pl > Forum > Bazy danych > MySQL
croc
Witam,

mam problem z połączeniem się z bazą MySQL z poziomu PHP. W życiu kilka razy instalowałem już Apache + PHP + MySQL, ale tym razem nie mogę się połączyć z bazą. Funkcja mysql_connect się odpala (rozszerzenie jest dodane), ale strona usiłuje się łączyć aż mija connection timeout. Łączenie z bazą przez oficjalnego klienta bazy MySQL działa (choć na początku też mi nie działało). Mam PHP w wersji 5.3.2 i MySQL w wersji 5.1.46. Proszę o pomoc. smile.gif
blooregard
Logi, logi i jeszcze raz logi.

Jakieś błędy, cokolwiek?
croc
Log Apache z ostatniego uruchomienia:

[Wed May 12 16:03:36 2010] [warn] pid file C:/Serwer/Apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed May 12 16:03:37 2010] [notice] Apache/2.2.15 (Win32) PHP/5.3.2 configured -- resuming normal operations
[Wed May 12 16:03:37 2010] [notice] Server built: Mar 4 2010 11:27:46
[Wed May 12 16:03:37 2010] [notice] Parent: Created child process 2000
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.2.102 for ServerName
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.2.102 for ServerName
[Wed May 12 16:03:38 2010] [notice] Child 2000: Child process is running
[Wed May 12 16:03:38 2010] [notice] Child 2000: Acquired the start mutex.
[Wed May 12 16:03:38 2010] [notice] Child 2000: Starting 64 worker threads.
[Wed May 12 16:03:38 2010] [notice] Child 2000: Starting thread to listen on port 80.
[Wed May 12 16:05:53 2010] [error] [client 127.0.0.1] PHP Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: [2002] Pr\xf3ba po\xb3\xb9czenia nie powiod\xb3a si\xea, poniewa\xbf po\xb3\xb9czona strona nie (trying to connect via tcp://localhost:3306) in D:\\Projekty\\WWW\\index.php on line 2
[Wed May 12 16:05:53 2010] [error] [client 127.0.0.1] PHP Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Pr\xf3ba po\xb3\xb9czenia nie powiod\xb3a si\xea, poniewa\xbf po\xb3\xb9czona strona nie odpowiedzia\xb3a poprawnie po ustalonym okresie czasu lub utworzone po\xb3\xb9czenie nie powiod\xb3o si\xea, poniewa\xbf po\xb3\xb9czony host nie odpowiedzia\xb3.\r\n in D:\\Projekty\\WWW\\index.php on line 2
[Wed May 12 16:05:53 2010] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in D:\\Projekty\\WWW\\index.php on line 20
[Wed May 12 16:05:53 2010] [error] [client 127.0.0.1] File does not exist: D:/Projekty/WWW/favicon.ico
erix
A nie masz poblokowanego dostępu do MySQL przez jakiś firewall? Albo inny IP, na którym demon nasłuchuje? Bo sądząc po komunikatach systemu, to wygląda na to, jakby MySQL w ogóle nie nasłuchiwał na podanym IP i porcie.
blooregard
Cytat
[Wed May 12 16:05:53 2010] [error] [client 127.0.0.1] PHP Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: [2002] Pr\xf3ba po\xb3\xb9czenia nie powiod\xb3a si\xea, poniewa\xbf po\xb3\xb9czona strona nie (trying to connect via tcp://localhost:3306) in D:\\Projekty\\WWW\\index.php on line 2

Logi serwera mysql, a nie Apache'a.
croc
Log MySQL:

100512 17:55:29 [Note] Plugin 'FEDERATED' is disabled.
100512 17:55:33 InnoDB: Started; log sequence number 0 50590
100512 17:55:37 [Note] Event Scheduler: Loaded 0 events
100512 17:55:37 [Note] C:\Serwer\MySQL\bin\mysqld: ready for connections.
Version: '5.1.46-community' socket: '' port: 3306 MySQL Community Server (GPL)
100512 17:59:12 [Note] C:\Serwer\MySQL\bin\mysqld: Normal shutdown

100512 17:59:12 [Note] Event Scheduler: Purging the queue. 0 events
100512 17:59:12 InnoDB: Starting shutdown...
100512 17:59:13 InnoDB: Shutdown completed; log sequence number 0 50590
100512 17:59:13 [Note] C:\Serwer\MySQL\bin\mysqld: Shutdown complete

100512 17:59:14 [Note] Plugin 'FEDERATED' is disabled.
100512 17:59:15 InnoDB: Started; log sequence number 0 50590
100512 17:59:15 [Note] Event Scheduler: Loaded 0 events
100512 17:59:15 [Note] C:\Serwer\MySQL\bin\mysqld: ready for connections.
Version: '5.1.46-community' socket: '' port: 3306 MySQL Community Server (GPL)


Log w ogóle się nie zmienia przy tych nieudanych połączeniach przez PHP. Czyli jakby rzeczywiście PHP wcale nie łączył się z bazą.

Spróbowałem też połączyć się z zewnętrzną bazą home.pl i wyskoczył taki błąd:

Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected in D:\Projekty\WWW\index.php on line 2

Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication in D:\Projekty\WWW\index.php on line 2
croc
Niestety nadal nie działa.
  1. Warning: mysql_connect() [function.mysql-connect]: [2002] Próba połšczenia nie powiodła się, ponieważ połšczona strona nie (trying to connect via tcp://localhost:3306) in D:\Projekty\WWW\index.php on line 3
  2.  
  3. Warning: mysql_connect() [function.mysql-connect]: Próba połšczenia nie powiodła się, ponieważ połšczona strona nie odpowiedziała poprawnie po ustalonym okresie czasu lub utworzone połšczenie nie powiodło się, ponieważ połšczony host nie odpowiedział. in D:\Projekty\WWW\index.php on line 3
  4.  
  5. Fatal error: Maximum execution time of 30 seconds exceeded in D:\Projekty\WWW\index.php on line 22


-------------------------------------------------------------------------

EDIT

Znalazłem rozwiązanie
Tutaj jest odpowiedź: http://forum.php.pl/index.php?showtopic=134827

Otworzyłem notatnik JAKO ADMINISTRATOR (to konieczne!), otworzyłem plik C:\Windows\System32\drivers\etc\hosts i usunąłem hash przed "127.0.0.1 localhost". Teraz łączy się bez problemu.
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.