本篇文章給大家?guī)砹薖HP中PHP封裝pdo的實(shí)例,以及pdo長連接的相關(guān)知識,長連接顧名思義就是一直保持連接,相對于平時(shí)的短連接,每次請求都會(huì)重新創(chuàng)建鏈接來說,長連接可以有效的減少創(chuàng)建的過程,可以更好的節(jié)省性能。希望對大家有幫助!
一、前言
最近需要寫腳本來實(shí)現(xiàn)崩潰日志的入庫,不出所料又是脫離于框架的,那么行吧,咱們只能自己封裝數(shù)據(jù)庫相關(guān)操作了。博主這里選擇了封裝pdo
操作數(shù)據(jù)庫相關(guān)。
二、為什么選擇pdo
眾所周知的,php
在早期的時(shí)候是帶有mysql
擴(kuò)展的,但是后來由于過于古老缺失了mysql
的新特性,因此主鍵沒落。
從php5
開始,更建議大家使用mysqli
擴(kuò)展,這個(gè)是mysql
擴(kuò)展的增強(qiáng)版,是一個(gè)面向?qū)ο蟮?code>MySQL接口,更容易使用。缺點(diǎn)是只能操作mysql
,不夠強(qiáng)大。
還有就是pdo
擴(kuò)展了,這個(gè)是最豐富的的一個(gè)擴(kuò)展,支持多種數(shù)據(jù)庫,重要的是,在安全上是比其他兩種擴(kuò)展都要強(qiáng)的,通過使用prepared
預(yù)處理更是有效的防止sql
注入。因此,博主這里選擇了封裝pdo
相關(guān)的操作。
三、pdo的長連接
1、什么是pdo的長連接
長連接顧名思義就是一直保持連接,相對于平時(shí)的短連接,每次請求都會(huì)重新創(chuàng)建鏈接來說,長連接可以有效的減少創(chuàng)建的過程,可以更好的節(jié)省性能。
在操作上是在連接數(shù)據(jù)庫的時(shí)候,多加一個(gè)參數(shù):
$pdo = new PDO($dsn, $username, $passwd, [PDO::ATTR_PERSISTENT => true]);
后面的PDO::ATTR_PERSISTENT => true
就是開啟長連接的方法。
2、長連接對nginx無效嗎
博主在搜索長連接相關(guān)知識的時(shí)候,看到一篇文章,結(jié)論是長連接僅適用于apache,不適用于nginx
,這是真的嗎?
參考博文地址:https://www.cnblogs.com/wpjamer/articles/7106389.html
大致結(jié)論是:長連接