Avatar
dusecladre
Člen
Avatar
dusecladre:

Zdravim, narazil som na takyto problem, mam urobenu triedu pre pripojenie do databazi dal som tam prenamentne pripojenie a tu vznika problem ak si prechadzam stranku tak pri netstat -a vidim ze sa vytvaraju postupne viacero pernamentnych pripojeni tak sa pytam pernametne pripojenie plati iba 1 pre jeden php subor alebo ako kedze sa to vytvara stale ako keby nove.

 
Odpovědět  -1 22.5.2015 23:00
Avatar
Lukáš Červený:

Ani jednou jsi nenapsal správně slovo "permanentní"...
Pokud ti přibývají připojení při prohlížení stránky, zřejmě jich v aplikaci vytváříš víc než jedno. Dej si na to pozor. Stačí ti jedno pro celou aplikaci. Nevím, jak jsi v PHP zběhlý, ale měl bys objektům všech tříd, které potřebují připojení k databázi, předávat objekt toho připojení pomocí dependency injection.
Jinak se podívej sem:
http://stackoverflow.com/…-to-database
a sem:
http://stackoverflow.com/…t-connection

 
Nahoru Odpovědět  -1 23.5.2015 22:22
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na dusecladre
Marek Z.:

Pokud se připojíš v nějaké hlavním souboru kam přidáváš externí obsah a v nich provádíš pouze dotazy, tak připojení provedeš pouze jednou..

Záleží, jakou máš strukturu appky a jak se připojuješ v jednotlivých oddílech(Resp. jak ho provádíš)..

Nahoru Odpovědět  -1 23.5.2015 23:25
Chybami se člověk učí, běžte se učit jinam!
Avatar
Lukáš Červený:

Prosím mínuskáře, aby mi opravil můj komentář. Rád se učím věci správně a pokud jsem radil špatně, chtěl bych, prosím, vědět, jak je to má být.
Stejně tak nechápu, proč dostal mínus tazatel.

 
Nahoru Odpovědět  ±0 24.5.2015 14:02
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Lukáš Červený
BlugW:

To je zde normální :)

Pro tazatele:
Můžeš popsat strukturu své aplikace?
Nejspíše napojuješ souhlas s připojením více x.

Editováno 24.5.2015 14:10
Nahoru Odpovědět  +1 24.5.2015 14:09
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
BlugW
Redaktor
Avatar
Odpovídá na BlugW
BlugW:

Hmm zapla se mi nejaka divna autokorekce....
souhlas = soubor

Editováno 24.5.2015 14:17
Nahoru Odpovědět  -1 24.5.2015 14:17
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na dusecladre
Dominik Klapuch:

Jak bylo již uvedeno, je dobré pracovat pouze s jednou instancí, kde sis vytvořil připojení k databázi, několik duplicitních jich není potřeba.

Nejlepší způsob je použít Dependency Injection přes konstruktor, kdy můžeš měnit danou implementaci za běhu, méně dobrý způsob je poté pomocí statiky.

Pokud v PDO používáš něco jako PDO::ATTR_PER­SISTENT => true, znamená to, že se ti připojení po ukončení skriptu nebude zavírat, ale je cachováno a znovu použito při skiptu novém. Přístup je poté mnohem rychlejší, ale přináší to také mnoho problémů.

Doporučji ti použít Cachegrind. Je to nástroj, díky kterému můžeš mimo jiné zkoumat počet volání dané metody a tam můžeš odhalit opětovné připojování k databázi.

Nahoru Odpovědět  +2 24.5.2015 16:22
Kód a data patří k sobě.
Avatar
black_tino
Člen
Avatar
black_tino:

Schvalne som si vyskusal PDO::ATTR_PER­SISTENT => true a mozem povedat ze po testoch sa to spojenie sice nezavrie ale niekedy to vytvara duplicitne nove spojenie ktore sa tiez nezavru teda nieje to alebo to nefunguje spravne ako by malo. Lebo po volaniach z roznych pocitatcov skrypt ktory sa ma iba priprajat do databazi tak server vyrobil skoro pre kazde nove pripojenie nove pripojenie aj do databazi teda necachoval skoro nic. Preco to uz netusim.

 
Nahoru Odpovědět 4.6.2015 17:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.