PHP Conference Nagoya 2025

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

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

Опции конфигурации Com
Имя По умолчанию Место изменения Список изменений
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  
Дополнительную информацию и определения режимов INI_* даёт раздел «Места установки параметров конфигурации».

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

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top