Налаштування під час виконання
Поведінка цих функцій залежить від установок у 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
, то константи будуть зареєстровані як реєстронезалежні.