這些函式的行為會受到 php.ini 中設定的影響。
名稱 | 預設值 | 可變更性 | 變更紀錄 |
---|---|---|---|
com.allow_dcom | "0" | INI_SYSTEM |
|
com.autoregister_typelib | "0" | INI_ALL |
|
com.autoregister_verbose | "0" | INI_ALL |
|
com.autoregister_casesensitive | "1" | INI_ALL |
|
com.code_page | "" | INI_ALL |
|
com.dotnet_version | "" | INI_SYSTEM |
自 PHP 8.0.0 起 |
com.typelib_file | "" | INI_SYSTEM |
以下是組態指令的簡短說明。
com.allow_dcom
當此設定開啟時,PHP 將允許以 D-COM(分散式 COM)用戶端的身分運作,並允許 PHP 腳本在遠端伺服器上實例化 COM 物件。
com.autoregister_typelib
當此設定開啟時,PHP 會嘗試從它所實例化的 COM 物件的類型程式庫註冊常數,前提是這些物件實作了獲取該資訊所需的介面。所註冊常數的大小寫區分由 php.ini 指令中的 com.autoregister_casesensitive 控制。
com.autoregister_verbose
當此設定開啟時,任何在物件實例化期間載入類型程式庫的問題都將透過 PHP 錯誤機制回報。預設值是關閉,這表示如果在尋找或載入類型程式庫時發生錯誤,則不會發出任何指示。
com.autoregister_casesensitive
當此設定開啟時(預設值),在實例化 COM 物件時,自動載入的類型程式庫中的常數將區分大小寫註冊。詳情請參閱 com_load_typelib()。
com.code_page
它控制在傳遞字串到 COM 物件和從 COM 物件接收字串時使用的預設字元集編碼頁。如果設定為空字串,PHP 將假設您想要使用 CP_ACP
,這是預設的系統 ANSI 編碼頁。
如果您的腳本中的文字預設使用不同的編碼/字元集,設定此指令將使您不必將編碼頁作為參數傳遞給 com 類別的建構函式。請注意,使用此指令(如同任何 PHP 組態指令)會降低您的 PHP 腳本的可攜性;您應盡可能使用 COM 建構函式參數。
com.dotnet_version
用於 dotnet 物件的 .NET framework 版本。設定值是框架版本號的前三個部分,以點分隔,並以 v
作為前綴,例如 v4.0.30319
。
com.typelib_file
設定後,這裡應該包含一個檔案的路徑,該檔案包含應在啟動時載入的類型程式庫列表。檔案的每一行都將被視為類型程式庫名稱,並如同您呼叫了 com_load_typelib() 一樣載入。常數將被永久註冊,因此程式庫只需要載入一次。如果類型程式庫名稱以字串 #cis
或 #case_insensitive
結尾,則該程式庫中的常數將不區分大小寫地註冊。