php零散知識筆記

2013-4-12

1、數據庫永久鏈接

永久鏈接建立後,每當該進程再度需要執行數據庫執行時,無需再發送連接請求,而是可以直接發行執行請求。這在數據庫執行頻繁的情況下能提高效率。

PS:這裏提一下永久連接和WEB服務器工作方式有關。

①當PHP以“外殼”形式工作時,永久鏈接不起作用。因爲每次執行完會關閉該過程(進程或線程)。

②當PHP以服務器模塊的方式存在,永久鏈接起作用並與每個過程綁定在一起,若最多有20個進程,則可以有20個永久鏈接。

③當PHP以插件形式工作時,那麼永久鏈接的行爲和②差不多。

不明白可以參看《PHP手冊》--http://www.php100.com/manual/php/features.persistent-connections.html


2013-4-10

1、session(這裏指web Session)數據可以保存在客戶端也可以保存在服務端。(客戶端在cookie中保存的sessionID即可,若客戶端禁用cookie,則可保存在地址欄裏,但不被推薦。因爲可能把網址發給別人時也把sessionId也發了過去)。
①若保存在服務端,實現容易效率高。但遇到服務器集羣時,session數據不容易在服務器之間共享。(當然可解決,如存在共享數據庫或者共享文件系統中)
②若保存在客戶端,可以避免服務器集羣間負載均衡的問題(共享session數據)的問題。但安全性受到考驗,一旦cookie被劫持或者篡改了,用戶的信息的安全性就喪失了。
參考--http://www.nowamagic.net/php/php_SessionPrinciple.php


2013-4-8

1、cookie是HTTP表頭的一部分,所以在設置cookie之前不應該有其他的內容輸出。這既可以將cookie放在頭部執行,也可以利用ob_start(啓用緩衝區)來將輸出內容存放在緩衝區中,等cookies或者其他HTTP頭信息都設置好後再從緩衝區裏一次性輸出來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章