Поведение этих функций зависит от установок в 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.
Если задана пустая строка, PHP будет считать, что вы хотите использовать
CP_ACP
- системная кодировка ANSI по умолчанию.
Если текст в вашем скрипте содержится в кодировке отличной от кодировки по умолчанию, то установка этого параметра позволит вам не указывать кодировку каждый раз при создании объекта класса com в его конструкторе. Пожалуйста помните, что использование этой директивы (как и любой другой директивы конфигурации) делает ваш скрипт менее переносимым, так что всё же рекомендуется указывать кодировку при каждом создании объекта COM.
com.dotnet_version
Версия платформы .NET для использования с объектами dotnet.
Значение параметра - это первые три части номера версии фреймворка,
разделённые точками и с префиксом v
, например v4.0.30319
.
com.typelib_file
Значение должно соответствовать пути в файловой системе до
файла, содержащего список библиотек типов, которые необходимо
загрузить при запуске. Каждая строка файла будет рассматриваться
как имя библиотеки типов, которая будет загружена как только
вы вызовите функцию com_load_typelib().
Константы будут зарегистрированы на постоянной основе, так что
библиотеки нужно загружать всего один раз. Если имя библиотеки
типов заканчивается на строку #cis
или
#case_insensitive
, то константы будут
зарегистрированы как регистронезависимые.