I-PDO_MYSQL ingumshayeli osebenzisa isixhumi esibonakalayo se-PHP Data Objects (PDO) ukuze unike amandla ukufinyelela kusuka ku-PHP kuya kusizindalwazi se-MySQL. Uma usebenzisa inguqulo ye-PHP ngaphambi kuka-7.1.16, noma i-PHP 7.2 ngaphambi kuka-7.2.4, setha i-plugin yephasiwedi emisiwe ye-MySQL 8 Server ku-mysql_native_password noma-ke uzobona amaphutha afana nala Iseva icele indlela yokuqinisekisa engaziwa iklayenti [caching_sha2_password] noma ngabe i-caching_sha2_password ayisetshenziswa. Lokhu kungenxa yokuthi i-MySQL 8 ishintsha ngokuzenzakalelayo ku-caching_sha2_password, i-plugin engaziwa ukukhishwa kwakudala kwe-PHP (mysqlnd). Kunalokho, ishintshe ngokufaka . I-caching_sha2_password plugin izosekelwa ekukhishweni kwe-PHP okuzayo. Okwamanje, isandiso se-mysql_xdevapi siyasisekela. Isexwayiso Qaphela: Ezinye izinhlobo zetafula le-MySQL (izinjini zokugcina) azikusekeli okwenziwayo. Lapho ubhala ikhodi yedatha egciniwe usebenzisa uhlobo lwethebula olungakusekeli okwenziwayo, i-MySQL izokwenza sengathi okwenziwayo kuqalwe ngempumelelo. Ukwengeza, noma yimiphi imibuzo ye-DDL ekhishiwe izoba sobala nganoma yikuphi okwenziwayo okusalindile. Umshayeli we-MySQL akasekeli ngendlela efanele nge-PDOStatement::bindParam ngenkathi amapharamitha anjalo angasetshenziswa, awabuyekezwa (okungukuthi okukhiphayo kwangempela akunakwa) Ukusabalalisa okuvamile kwe-Unix kufaka phakathi izinguqulo kanambambili ze-PHP ezingafakwa. Nakuba lezi zinguqulo kanambambili ngokuvamile zakhiwe ngokusekelwa kwezandiso ze-MySQL, amalabhulali esandiso ngokwawo angase adinge ukufakwa kusetshenziswa iphakheji eyengeziwe. Hlola umphathi wephakheji oza nokusabalalisa kwakho okukhethile ukuze uthole ukutholakala. Isibonelo, ku-Ubuntu iphakheji ifaka izandiso ze-ext/mysql, ext/mysqli, kanye ne-PDO_MYSQL PHP. Ku-CentOS, iphakheji iphinde ifake lezi zandiso ezintathu ze-PHP. Noma, ungazihlanganisela lesi sandiso. Ukwakha i-PHP kusuka emthonjeni kukuvumela ukuthi ucacise izandiso ze-MySQL ofuna ukuzisebenzisa, kanye nokukhetha kwakho umtapo wezincwadi weklayenti wesandiso ngasinye. Uma uhlanganisa, sebenzisa --with-pdo-mysql[=DIR] ukuze ufake isandiso se-PDO MySQL, lapho ongakukhetha kuyilabhulali eyisisekelo ye-MySQL. I-Mysqlnd iyilabhulali ezenzakalelayo. Ukuze uthole imininingwane mayelana nokukhetha umtapo wolwazi, bheka Ukukhetha umtapo wezincwadi we-MySQL. Ongakukhetha, i- --with-mysql-sock[=DIR] isetha endaweni yesikhombi sesokhethi se-MySQL unix sazo zonke izandiso ze-MySQL, okuhlanganisa i-PDO_MYSQL. Uma kungashiwongo, izindawo ezizenzakalelayo ziyaseshwa. Uma uthanda, i- --with-zlib-dir[=DIR] isetshenziselwa ukusetha indlela eya kusiqalo sokufaka se-libz. Usekelo lwe-SSL lunikwe amandla kusetshenziswa i-PDO_MySQL engaguquki efanele, okulingana nokubiza i-ÃÂû Umsebenzi we-MySQL C API mysql_ssl_set Futhi, i-SSL ayikwazi ukunikwa amandla nge-PDO::setAttribute ngoba uxhumano vele lukhona. Bheka futhi imibhalo ye-MySQL emayelana ne-Ãû exhuma ku-MySQL nge-SSL Izilinganiso ezingezansi zichazwa yilo mshayeli, futhi zizotholakala kuphela uma isandiso sihlanganiswe ku-PHP noma silayishwa ngamandla ngesikhathi sokusebenza. Ngaphezu kwalokho, lezi zimo ezihambisana nomshayeli kufanele zisetshenziswe kuphela uma usebenzisa lo mshayeli. Ukusebenzisa izibaluli eziqondene nomshayeli nomunye umshayeli kungase kubangele ukuziphatha okungalindelekile. I-PDO::getAttribute() ingase isetshenziselwe ukuthola isibaluli sokuhlola umshayeli, uma ikhodi yakho ingasebenza ngokumelene namashayeli amaningi. ku-, umshayeli we-MySQL uzosebenzisa izinguqulo ezigcinwe ku-MySQL API. Uma ubhala ikhodi ephathekayo, kufanele usebenzise esikhundleni salokho. Uma lesi sibaluli sisethwe ku-toon a, umshayeli we-MySQL uzosebenzisa izinguqulo ezigcinwe ku-MySQL API. Uma ubhala ikhodi ephathekayo, kufanele usebenzise esikhundleni salokho. Isibonelo #1 Ukuphoqa imibuzo ukuthi igcinwe ku-mysql "uhlelo lwami lokusebenza lusebenza kuphela nge-mysql; kufanele ngisebenzise \$stmt->fetchAll() esikhundleni salokho"Qaphela, lokhu okungaguquki kungasetshenziswa kuphela kuhlelo lapho ngakha isibambi sesizindalwazi esisha. Ivumela ukukhawulela ukulayishwa kwe-LOCAL DATA kumafayela atholakala kulolu hlu lwemibhalo oluqokiwe. Itholakala kusukela nge-PHP 8.1.0. Qaphela, lokhu okungaguquki kungasetshenziswa kuphela kumalungu afanayo lapho kwakhiwe isibambi sedathabheyisi entsha. Umyalo ozowusebenzisa lapho uxhuma kuseva ye-MySQL. Izophinda isetshenziswe ngokuzenzakalelayo lapho ixhuma kabusha. Qaphela, lokhu okungaguquki kungasetshenziswa kuphela kumalungu afanayo lapho kwakhiwe isibambi sedathabheyisi entsha. Funda izinketho efayelini lenketho enegama esikhundleni sokusuka kokuthi . Le nketho ayitholakali uma i-mysqlnd isetshenziswa, ngoba i-mysqlnd ayifundi amafayela wokumisa we-mysql. Funda izinketho eqenjini eliqanjwe igama noma ifayela elishiwo nge-. Le nketho ayitholakali uma i-mysqlnd isetshenziswa, ngoba i-mysqlnd ayifundi amafayela wokumisa we-mysql. Umkhawulo kasayizi webhafa. Okuzenzakalelayo ku-1 MiB. Lokhu njalo akusekelwa uma kuhlanganiswa ngokumelene ne-mysqlnd. Buyisa inombolo yemigqa etholiwe (efanisiwe), hhayi inombolo yemigqa eshintshiwe. Indlela yefayela eya kwabasemagunyeni kwesitifiketi se-SSL. Indlela yefayela eya kuhla lwemibhalo equkethe izitifiketi ezithenjwayo ze-SSL CA, ezigcinwe ngefomethi ye-PEM. Indlela yefayela eya kusitifiketi se-SSL. Uhlu lwe-cipher eyodwa noma ngaphezulu okuvunyelwe ukusetshenziswa ekubetheleni kwe-SSL, ngefomethi eqondwa yi-OpenSSL. Isibonelo: Indlela yefayela eya kukhiye we-SSL. Inikeza indlela yokukhubaza ukuqinisekiswa kwesitifiketi se-SSL seseva. Lokhu kukhona kusukela ku-PHP 7.0.18 kanye ne-PHP 7.1.4. Ikhubaza ukusetshenziswa kwemibuzo eminingi kukho kokubili i-PDO::prepare() kanye ne-PDO::query() uma isethelwe ku-. Qaphela, lokhu okungaguquki kungasetshenziswa kuphela kumalungu afanayo lapho kwakhiwe isibambi sedathabheyisi entsha Ukuziphatha kwale misebenzi kuthintwa izilungiselelo ku-. Ukuze uthole imininingwane eyengeziwe nezincazelo zamamodi we-PHP_INI_*, bheka ethi Ukuze uthole imininingwane eyengeziwe nezincazelo zamamodi we-PHP_INI_*, bheka ethi Lapho kungase kusethwe khona ukulungiselelwa kokumisa isokhethi yesizinda se-Unix. Leli nani lingasethwa ngesikhathi sokuhlanganiswa uma isokhethi lesizinda litholakala ekulungiseleleni. Lesi silungiselelo se-ini si-Unix kuphela. Inika amandla ukulungisa iphutha ku-PDO_MYSQL. Lesi silungiselelo sitholakala kuphela uma i-PDO_MYSQL ihlanganiswa ngokumelene ne-mysqlnd futhi ikumodi yokususa iphutha ye-PDO.