Autor | Zpráva | ||
---|---|---|---|
xaverista Profil |
#1 · Zasláno: 17. 1. 2015, 12:08:06
Zdravím, mám problém s připojením na databázi. Jsem si jist, že údaje pro připojení jsou správné. Do teď to fungovalo, ale dneska mi poprvé vyhodil error:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Connection timed out' in /home/******/public_html/novinky/Db.php:48 Stack trace: #0 /home/****/public_html/novinky/Db.php(48): PDO->__construct('mysql:host=admi...', 'hosting', '*****', Array) #1 /home/*****/public_html/index.php(3): Db::connect('admin.*****.e...', 'novinky', 'hosting', '*****') #2 {main} thrown in /home/*****/public_html/novinky/Db.php on line 48 a přikládám ještě řádek 48 z Db.php public static function connect($host, $database, $user, $password) { if (!isset(self::$connection)) { $dsn = "mysql:host=$host;dbname=$database"; self::$connection = new PDO($dsn, $user, $password, self::$options); } } |
||
Zechy Profil |
#2 · Zasláno: 17. 1. 2015, 12:16:17
xaverista:
Čas pro připojení vypršel, takže pravděpodobně je někde problém po cestě k serveru. Pokud máš localhost, zkus ověřit, jestli frčí. Jinak zkus ještě ověřit připojení třeba přes nějaký myAdmin či si na něj pingnout. Je možné, že server je v tuto chvíli nedostupný. |
||
Jan Tvrdík Profil |
#3 · Zasláno: 17. 1. 2015, 12:35:13
xaverista:
A už to funguje? Nebo problém přetrvává? Pokud se jednalo o jednorázový problém, tak šlo nejspíš o chybu (výpadek) hostingu. |
||
xaverista Profil |
Zdravím, problém stále přetrvává, zajímavé je ale, že databáze pro administraci funguje, i když je to úplně ta stejná databáze jak pro Administraci tak i pro web
---------------------------------------------- EDIT: Na localhostu vše frčí, tak jak má |
||
Jan Tvrdík Profil |
xaverista:
Můžeš zkusit zvýšit timeout třeba na 5 sekund, tj. $dsn = "mysql:host=$host;dbname=$database"; self::$options[PDO::ATTR_TIMEOUT] = 5; self::$connection = new PDO($dsn, $user, $password, self::$options); |
||
xaverista Profil |
#6 · Zasláno: 17. 1. 2015, 19:22:09
Jan Tvrdík:
„Můžeš zkusit zvýšit timeout třeba na 5 sekund, tj.“ Sry nefunguje |
||
Jan Tvrdík Profil |
xaverista:
Projevuje se ten problém i v izolaci? Tj. když skript obsahuje pouze výše uvedené 3 řádky? |
||
xaverista Profil |
#8 · Zasláno: 19. 1. 2015, 10:14:00
No mam tento script na 2 strankach a na té jedné funguje a na té druhé ne, i když je to stejný script
|
||
Kajman Profil |
#9 · Zasláno: 19. 1. 2015, 10:55:54
A ty dvě stránky jsou na stejném serveru?
|
||
xaverista Profil |
#10 · Zasláno: 19. 1. 2015, 13:20:51
No web je na serveru hostingu a Administrace a databáze je umístěna na VPSku
|
||
nightfish Profil |
#11 · Zasláno: 19. 1. 2015, 18:52:12
A není problém v tom, že web, který běží na serveru hostingu, nemá přístup na VPS (třeba kvůli nastavení firewallu atd.)?
|
||
xaverista Profil |
#12 · Zasláno: 19. 1. 2015, 23:01:45
Díky všem problém vyřešen.
|
||
Davex Profil |
#13 · Zasláno: 19. 1. 2015, 23:39:25
xaverista:
„Díky všem problém vyřešen.“ Bezva. A čím to tedy bylo? |
||
xaverista Profil |
#14 · Zasláno: 20. 1. 2015, 00:01:17
Přesně to bohužel nemohu zodpovědět, protože jsme se rozhodli přejít od hostingu, měli tam celkem dost problémů.
A ještě bych se chtěl zeptat, když se tato věc náhodou stane opět, jak zajistit, aby se normálně zobrazila stránka a pod sliderem by se třeba zobrazilo, problém s připojením k databázi a ne ta chyba, přece jen se tam zobrazují údaje hostitele,jmeno a heslo Díky |
||
juriad Profil |
xaverista:
Viz dokumentace. V catch bloku samozřejmě můžeš vypsat (nebo si poznamenat a vypsat později) jakoukoli hlášku. |
||
xaverista Profil |
#16 · Zasláno: 20. 1. 2015, 14:49:48
DObře a ještě, jen když se nebude moci připojit k databázi, ať to jen uloží třeba do proměnné $errorDatabaze text
$errorDatabaze = 'Omlouváme se, ale máme problém s připojením s databázi'; |
||
Časová prodleva: 9 let
|
0