php-mysql擴充的mysql_connect/mysql_pconnect比較_PHP教程

來源:互聯網
上載者:User
author: selfimpr
blog: http://blog.csdn.net/lgg201
mail: lgg860911@yahoo.com.cn

item
mysql_connect
mysql_pconnect
函數原型
resource mysql_connect($host_port, $user, $passwd, $newlink, $client_flags);
第四個參數$newlink標記是否建立新的資來源物件
resource mysql_pconnect($host_port, $user, $passwd, $client_flags);
allow_persistent指令
設定此指令使得兩個函數行為均和mysql_connect()一致
串連資來源物件擷取
對$host_port, $user, $passwd, $client_flags求雜湊值
在普通資源清單(EG(regular_list))中尋找連線物件(已找到並且沒有設定$newlink強制建立新串連)
檢尋找到的對象是否資源類型
從尋找到的對象中讀取連線物件
將當前擷取的連線物件設定為全域預設連線物件
增加連線物件的引用計數, 設定zval屬性返回
對$host_port, $user, $passwd, $client_flags求雜湊值
從持久化資源清單(EG(persist_list))中尋找連線物件(沒有找到)
檢查max_links配置指令限制是否到達
檢查max_persistent配置指令限制是否到達
分配連線物件(php_mysql_conn)空間
設定連線物件的基礎屬性
初始化驅動層連線物件(mysqlnd/libmysql兩種方式)
設定連線逾時時間
發起驅動層的真實串連請求
構造持久化列表元素對象, 將新連線物件設定到元素中
將連線物件更新到持久化列表中
更新(增加)num_persistent/num_links計數
註冊資源類型傳回值
將當前擷取的串連設定為全域預設連線物件
對$host_port, $user, $passwd, $client_flags求雜湊值
在普通資源清單(EG(regular_list))中尋找連線物件(未找到或設定了$newlink強制建立新串連)
檢查max_links配置指令限制
分配連線物件(php_mysql_conn)空間
設定連線物件基礎屬性
初始化驅動層連線物件(mysqlnd/libmysql)
設定連線逾時時間
發起驅動層的真實串連
將連線物件註冊為資源類型傳回值
將連線物件更新到普通資源清單(EG(regualr_list))中
更新num_links計數
將當前擷取的連線物件設定為全域預設連線物件
對$host_port, $user, $passwd, $client_flags求雜湊值
從持久化資源清單中尋找連線物件(已找到)
檢查尋找到的持久化資源的類型是否匹配
從持久化資源中讀取連線物件
設定連線物件基本屬性
檢查服務端是否主動關閉
如果服務端主動關閉則進行重連
註冊資源類型傳回值
將當前擷取的串連設定為全域預設連線物件
regular_list Vs. persistent_list
regular_list和persistent_list兩者都是HashTable
兩者都是執行全域環境executor_globals的成員
兩者生命週期不同, regular_list在php_request_shutdown()時被釋放, 也就是單個請求處理完成之後釋放, 而persistent_list在php_module_shutdown()的時候調用zend_shutdown()釋放, 也就是在整個進程完成執行時釋放


http://www.bkjia.com/PHPjc/477932.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477932.htmlTechArticleauthor: selfimpr blog: http://blog.csdn.net/lgg201 mail: lgg860911@yahoo.com.cn item mysql_connect mysql_pconnect 函數原型 resource mysql_connect($host_port, $user, $passwd, $n...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.