実行時設定
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
-
これを on にすると、PHP が D-COM (分散 COM) クライアントとして動作することを許可し、 PHP スクリプトがリモートサーバー上に COM オブジェクトを生成することを 許可します。
-
com.autoregister_typelib
-
これを on にすると、 生成した COMオブジェクトのタイプライブラリから取得した 定数を PHP に登録しようと試みます。ただし、それはオブジェクトが 当該情報を取得するためのインターフェイスを提供している場合のみです。 登録する定数の大文字小文字を区別するかどうかについては、 com.autoregister_casesensitive php.ini 設定ディレクティブで制御します。
-
com.autoregister_verbose
-
これを on にすると、オブジェクト生成時のタイプライブラリの読み込み中に 発生したすべての問題が PHP のエラー機構を用いて報告されます。 デフォルトは off で、この場合はタイプライブラリの検索や読み込みの際の エラーは一切報告されません。
-
com.autoregister_casesensitive
-
これを on にすると (デフォルト)、 COMオブジェクトをインスタンス化中に自動読み込みされた タイプライブラリ中に見つかった定数が、大文字小文字を区別して 登録されます。詳細は com_load_typelib() を参照ください。
-
com.code_page
-
これは、COM オブジェクトとの文字列の受け渡しに使用するデフォルトの 文字セットコードページを制御します。空の文字列が設定された場合、 PHP は
CP_ACP
が指定されたと仮定します。 これは、デフォルトのシステム ANSI コードページです。スクリプト中のテキストがデフォルトとは異なるエンコーディング/ 文字セットを使用している場合、このディレクティブを設定することで com クラスのコンストラクタのパラメータとして コードページを指定する必要がなくなります。 (他の PHP 設定ディレクティブとともに) このディレクティブを使用すると、 PHP スクリプトの移植可能性が悪くなることに注意しましょう。 できる限り、COM のコンストラクタにパラメータを指定する方式をとるべきです。
-
com.dotnet_version
-
dotnet オブジェクトが使う、.NET framework のバージョン。 この値は、framework のバージョン番号のうち、ドットで区切られた最初の3つの部分で、
v
が先頭に付きます。たとえばv4.0.30319
のようなものです。 -
com.typelib_file
-
このパラメータでは、起動時に読み込まれるタイプライブラリの一覧を 含むファイルへのパスを保持します。このファイル内の各行が タイプライブラリ名として扱われ、com_load_typelib() をコールした際にそれが読み込まれます。登録された定数は永続的に 保持されるので、ライブラリの読み込みは一度だけでよくなります。 タイプライブラリの名前が
#cis
あるいは#case_insensitive
で終わる場合は、そのライブラリから 読み込まれた定数は大文字小文字を区別せずに登録されます。