Jump to content
php.lv forumi

jautājums par mysql_close nepieciešamību


andrisp

Recommended Posts

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 ?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 ..

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 2 weeks later...

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."

Link to comment
Share on other sites

×
×
  • Create New...