首頁  >  文章  >  後端開發  >  關於 php 擴充

關於 php 擴充

WBOY
WBOY原創
2016-08-08 09:21:091123瀏覽

轉自:http://www.linuxchina.net/?p=1361

編譯安裝php,php會產生許多擴展,這些擴展分為動態和靜態編譯兩種。

動態編譯會自動產生so文件,並儲存在:$php/lib/php/extensions/no-debug-non-zts-20060613/,這些so檔案包含了php所能呼叫的函式庫,當程式碼中需要呼叫這些函式庫時php會動態的載入這些so檔。

靜態編譯指在編譯安裝php時並不會自動產生這些so文件,而是將這些so文件中的函數庫靜態的編譯進php中,這樣程式碼在呼叫時也會被呼叫到。

動態編譯與靜態編譯的區別:

動態編譯時每一個php擴充都會產生自己的so文件,程式碼呼叫這些函式庫時會動態的載入對應的so文件,這樣可以最佳化程式碼執行時間和控制php記憶體的大小;而靜態編譯雖然也能讓程式碼呼叫對應的函式庫,但在高並發的情況下,全部載入php的函式庫,會帶來更多的記憶體消耗,影響伺服器效能。

動態編譯與靜態編譯的實作:

動態編譯需要在設定時指定參數shared,例如:
-with-zlib=shared -with-pdo-mysql=shared,/usr/local/mysql
靜態編譯則不需要指定參數shared,例:-with-zlib

以上就介紹了About php Extensions,包含了方面的內容,希望對PHP教程有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn