Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции конфигурации Com
Имя По умолчанию Место изменения Список изменений
com.allow_dcom "0" PHP_INI_SYSTEM  
com.autoregister_typelib "0" PHP_INI_ALL  
com.autoregister_verbose "0" PHP_INI_ALL  
com.autoregister_casesensitive "1" PHP_INI_ALL  
com.code_page "" PHP_INI_ALL  
com.dotnet_version "" PHP_INI_SYSTEM Начиная с PHP 8.0.0
com.typelib_file "" PHP_INI_SYSTEM  
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

com.allow_dcom

Если включено, PHP будет разрешено работать в качестве клиента D-COM (Распределенный COM), что позволит скрипту PHP инстанциировать объекты COM на удаленном сервере.

com.autoregister_typelib

Если включено, PHP попробует зарегистрировать константы библиотеки типов создаваемых объектов COM, если эти объекты реализуют интерфейс, требуемый для получения данной информации. Регистрозависимость регистрируемых констант контролируется директивой конфигурации.

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, то константы будут зарегистрированы как регистронезависимые.