Zadejte hledaný výraz...

PHP a uzavření spojení s DB

Martin
verified
rating uzivatele
(62 hodnocení)
21. 6. 2010 11:07:29
Všechny zdravím.
Chci si udělat jasno v tom, zda je potřeba uzavírat spojení s databází. Když jsem se PHP učil, tak jsem četl, že to potřeba není. Že se uzavírá automaticky s ukončením scriptu. Teď jsem ale někde čelt, že tomu tak nemusí být vždy. Je mi jasný, že pro klid duše by to asi chtělo uzavírat, ale jde mi o to, zda mám kvůli tomu předělávat jeden starší projekt.
Jak to tedy je?
Díky
21. 6. 2010 11:07:29
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518807
hm
verified
rating uzivatele
(20 hodnocení)
21. 6. 2010 12:37:32
pokud nepouzivas perzistentni spojeni (jakoze asi nepouzivas ani byhc takove spojeni nedoporucoval), pak se spojeni ukoncuje automaticky s ukoncenim scriptu, neni tedy nutnost konec spojeni do scriptu zakomponovavat, i presto bych ale doporucil pro vsechny pripady spojeni zavirat - startovaci a ukoncovaci sekvenci scriptu bys zkratka mel spojenim a odpojenim vybavit, aby bylo vse spravne, ale pokud to neudelas, nemelo by to zpusobit zadne komplikace.
21. 6. 2010 12:37:32
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518806
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
21. 6. 2010 16:09:11
Napsal AlesiBoss;527803
pokud nepouzivas perzistentni spojeni (jakoze asi nepouzivas ani byhc takove spojeni nedoporucoval), pak se spojeni ukoncuje automaticky s ukoncenim scriptu, neni tedy nutnost konec spojeni do scriptu zakomponovavat, i presto bych ale doporucil pro vsechny pripady spojeni zavirat - startovaci a ukoncovaci sekvenci scriptu bys zkratka mel spojenim a odpojenim vybavit, aby bylo vse spravne, ale pokud to neudelas, nemelo by to zpusobit zadne komplikace.
pokud vim, tak nemusis uvolnovat nikdy nic. persistentni pripojeni zustane (alespon v pripade pdo) v pool cache, a je cachovane dle parametru pro pripojeni, takze pokud nedelas nejake praseciny jako nastavovani ruzneho kodovani db u ruznych requestu, tak by te nemelo zajimat ani persistentni pripojeni...
procpak ho nedoporucujes? me to prijde jako prakticka vec - alespon v prvni fazi, nez se vybuilduje cache, tak to serveru trosku ulehci...
21. 6. 2010 16:09:11
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518805
ne
verified
rating uzivatele
(22 hodnocení)
21. 6. 2010 17:48:11
teoreticky správne - uzatvarat, prakticky je to jedno... uzatvorenie nastane pri ukonceni kodu
21. 6. 2010 17:48:11
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518804
Spravne by se spojeni melo uzavirat - ostatne jako cokoliv co se otevre.... ale pokud zapomenes (nebo se na to vykasles) tak se nic prevratneho nestane...
21. 6. 2010 19:20:35
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518803
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
21. 6. 2010 19:49:35
Napsal winexec;528029
Spravne by se spojeni melo uzavirat - ostatne jako cokoliv co se otevre.... ale pokud zapomenes (nebo se na to vykasles) tak se nic prevratneho nestane...
a duvod? tohle musis delat v cecku a nebo v jave, protoze nemaji destruktory - ty slouzi pro uklizeni - ale ani tak si nedovedu predstavit, co bych jako mel uklizet, PDO se o vsechno postara samo, mysql pripojeni se taky zrusi samo, stejne tak vetsina resourcu...
21. 6. 2010 19:49:35
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518802
Napsal vedouci;528047
a duvod? tohle musis delat v cecku a nebo v jave, protoze nemaji destruktory - ty slouzi pro uklizeni - ale ani tak si nedovedu predstavit, co bych jako mel uklizet, PDO se o vsechno postara samo, mysql pripojeni se taky zrusi samo, stejne tak vetsina resourcu...
Na duvod se ptej toho kdo vymyslel mysql_close ... osobne jsem to pouzil snad jednou v zivote.
Fopen zaviras? Ja ano, ikdyz to jde i bez zavreni... Duvod: zvyk
22. 6. 2010 19:54:51
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518801
hm
verified
rating uzivatele
(20 hodnocení)
22. 6. 2010 22:48:44
mysql_close slouzi spise k tomu, kdyz data z mysql tahas jen nekde na zacatku provadeni scriptu a pote s daty pracujes jiz bez potreby databaze, ano takovych pripadu je skutecne asi uplne minimum, ale jde o to ze vytahnes data, spojeni ukoncis, tim uvolnis slot a pak teprve zpracovavas data -> dokonce me ted ani nenapada nic konkretniho kde by se to primo skutecne hodilo...
22. 6. 2010 22:48:44
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518800
Václav Mach
verified
rating uzivatele
(13 hodnocení)
22. 6. 2010 23:20:38
Perzistentí spojení u mysql je dost nespolehlivé co se cache týče a nedělá mu problém vyčerpat spojení s databází. Resp. necachuje jak má a uzavřít se pochopitelně nedá. Takže fakt nepoužívat.
Zavírat jednorázové spojení je opravdu skoro jedno.
22. 6. 2010 23:20:38
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518799
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
22. 6. 2010 23:22:14
Napsal winexec;528614
Na duvod se ptej toho kdo vymyslel mysql_close ... osobne jsem to pouzil snad jednou v zivote.
Fopen zaviras? Ja ano, ikdyz to jde i bez zavreni... Duvod: zvyk
fopen nepouzivam skoro vubec... a kdyz, tak zaviram, pokud to u konkretniho pouziti ma nejaky smysl
---------- Příspěvek doplněn 22.06.2010 v 23:22 ----------
Napsal webdnes;528710
Perzistentí spojení u mysql je dost nespolehlivé co se cache týče a nedělá mu problém vyčerpat spojení s databází. Resp. necachuje jak má a uzavřít se pochopitelně nedá. Takže fakt nepoužívat.
Zavírat jednorázové spojení je opravdu skoro jedno.
plati to same pro persistentni spojeni u pdo?
BTW: ted jsem si vzpomenl, kdy je persistentni pripojeni osina v zadku - kdyz neco ladite a obcas vam nejaky dotaz chcipne a zaroven potrebujete zamykat tabule... takze scenar pro bezesnou noc je takovyhle: zamknu tabuli, provedu dotaz, ktery vyhodi chybu, php chcipne, pripojeni zustane otevrene a s aktivnim lockem... pri pristim dotazu uz zacnou skakat hlasky typu table was not locked, etc... takze na to bacha :-) jinak si stale myslim, ze persistentni pripojeni je fajn - alespon v pripade pdo - tam se pouziva klasicky db pooling - ale nemam poneti, jestli je odolny a nebo neni na ty popsane chyby...
22. 6. 2010 23:22:14
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518798
hm
verified
rating uzivatele
(20 hodnocení)
23. 6. 2010 12:42:09
Napsal vedouci;528712
jinak si stale myslim, ze persistentni pripojeni je fajn - alespon v pripade pdo - tam se pouziva klasicky db pooling - ale nemam poneti, jestli je odolny a nebo neni na ty popsane chyby...
osobne mam s perzistentnimi spojenimi celkove spatne zkusenosti, proto ho nedoporucuji, nevidim tam totiz zadnou vyhodu kvuli ktere bych ho mel pouzivat, vidim pouze ty nevyhody...
23. 6. 2010 12:42:09
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518797
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
23. 6. 2010 13:18:48
Napsal AlesiBoss;528867
osobne mam s perzistentnimi spojenimi celkove spatne zkusenosti, proto ho nedoporucuji, nevidim tam totiz zadnou vyhodu kvuli ktere bych ho mel pouzivat, vidim pouze ty nevyhody...
ja se zatim vypekl jenom jednou - s tema zamklyma tabulema, jinak sem s tim nemel zadne potize, musim zaklepat :-)
23. 6. 2010 13:18:48
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518796
isgroup
verified
rating uzivatele
(2 hodnocení)
24. 6. 2010 16:08:26
standartem je uzavirani spojeni v descruktoru pri skonceni skriptu. jenze na to se neda spolihat. Je lepsi volat uzavreni spojeni pri konci scriptu. Samozrejme to automaticke uzavirani zavisi i na konfiguraci DB serveru, PHP atd.. nekdy se muze stavat ze se automaticky neodpoji nic.
24. 6. 2010 16:08:26
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518795
Pavel Janků
verified
rating uzivatele
(25 hodnocení)
25. 6. 2010 06:30:15
Já tedy zásadně uzavírám spojení s databázi a to i proto, že občas využívám více, než-li 1 DB.
25. 6. 2010 06:30:15
https://webtrh.cz/diskuse/php-a-uzavreni-spojeni-s-db#reply518794
Pro odpověď se přihlašte.
Přihlásit