andrisp Posted October 16, 2006 Report Posted October 16, 2006 Ja, piemēram, šobrīd daru tā, ka konekciju veidoju skripta sākumā, un aizveru beigās, tad vai man vispār ir vērts izsaukt mysql_close() ? No manuāļa: Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. Vai ir kādi specālgadījumi, ka pašrocīgi neaizvērta konekcija nojauc kautko ? Vai uzticot php aizvērt konekciju, nevar gadīties tā, ka konekcija "netiek aizvērta" (atmiņā paliek resource vai kas), un man pēc tam ir problēmas ar jaunas konekcijas izveidošanu ?
Delfins Posted October 16, 2006 Report Posted October 16, 2006 Nu tev ir rakstīts - ja nelieto non-persistent, tad viss tiek klouzēts automātiski. Ja skripts krešo, tad liekas uz DB paliek idle sessija, kas man liekas tiks rejūzota... mysql_close domāts tikai priekš persistent konekcijas
Roze Posted October 16, 2006 Report Posted October 16, 2006 Nu tev ir rakstīts - ja nelieto non-persistent, tad viss tiek klouzēts automātiski. Ja skripts krešo, tad liekas uz DB paliek idle sessija, kas man liekas tiks rejūzota... mysql_close domāts tikai priekš persistent konekcijas Nekā.. mysql_close() never ciet persistantas konekcijas Note: mysql_close() will not close persistent links created by mysql_pconnect(). mysql_close() reāli jēga ir izmantot ja tiek lietoti pagari / ilglaicīgi skripti (teiksim kādi shell procesi) kur konekcija uz MySQLu nepieciešama tikai kādā brīdī bet pēcāk vairs nē.. Attiecībā uz pconnectu šķiet ka konekcijas tiek handlētas tikai no paša MySQL gala (ar wait_timeout direktīvu) vai arī kādu citu konekciju "pūleri" aka SQLRelay piemēram.. Pie kam standarta variantā (php+apache (prefork)) persistantajām konekcijas šķiet vispār nav iespējams jēdzīgi izmantot ..
Delfins Posted October 16, 2006 Report Posted October 16, 2006 Nu lab lab, par to close... bet tas tiesa, ka PHP+Apache un persistent īsti nav izmantojams... Uztaisīs N-tās idle konekcijas un pēctam servers vispār refjūzos. Un, cik pareizi atceros, no C++ biju saucis tieši persistent connect (kā vienīgā f-ja pieejamā bija).. un tur viss strādāja
andrisp Posted October 16, 2006 Author Report Posted October 16, 2006 Delfins, palasīju iekš manuāļa par tām persistentajām fjām - tur tiešām var tikai problēmās sabraukt.
Exzo Posted October 31, 2006 Report Posted October 31, 2006 Ka tik tā mysql_close() doma nav tajā, ka, ja jau esošas konekcijas vidū esi kaut ko darījis citā DB, aizver vairs nevajadzīgo konekciju un turpini darbināt sākumā atvērto. Nu baigais savārstījums sanāca, bet ceru ka doma +/- saprotama. Galu galā: mysql_query ( string query [, resource link_identifier] ); "If the link identifier is not specified, the last link opened by mysql_connect() is assumed."
andrisp Posted October 31, 2006 Author Report Posted October 31, 2006 Arī, bet vispār ja izmanto vairākas konkurentas konekcijas vienā skriptā, tad handlu (link_identifier) izmantošana ir obligāta, savādāk problēmas tik vien var sanākt.
Recommended Posts