Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration pour COM
Nom Défaut Modifiable Historique
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 À partir de PHP 8.0.0
com.typelib_file "" INI_SYSTEM  
Pour plus de détails sur les modes INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

com.allow_dcom

Si cette directive est activée, PHP aura la permission d'opérer comme un client D-COM (Distributed COM) et permettra à PHP d'instancier des objets COM sur un serveur distant.

com.autoregister_typelib

Si cette directive est activée, PHP essayera d'enregistrer des constantes provenant de la bibliothèque typelibrary des objets COM qu'il instancie, si ces objets implémentent l'interface demandée pour obtenir les données demandées. La sensibilité des constantes à la casse est contrôlée par la directive de configuration php.ini com.autoregister_casesensitive.

com.autoregister_verbose

Quand cette directive est activée, tout problème rencontré lors du chargement d'une typelibrary durant l'instanciation de l'objet sera reporté en utilisant le mécanisme d'erreurs de PHP. Par défaut, elle est désactivée, ce qui ne donne aucune indication sur l'échec de l'opération lors d'une recherche ou d'un chargement de la bibliothèque de type.

com.autoregister_casesensitive

Cette directive est activée par défaut et fait que les constantes trouvées dans les bibliothèques de types auto-chargées lors de l'instanciation d'objets COM seront enregistrées en mode sensible à la casse. Voir com_load_typelib() pour plus de détails.

com.code_page

Cette directive permet de spécifier le code-page des jeux de caractères à utiliser lors de l'envoi et la réception de chaînes vers des objets COM. Si elle est vide, PHP pensera que l'on veut CP_ACP, qui est le code-page système ANSI par défaut.

Si le texte dans les scripts est encodé avec un différent encodage ou jeu de caractères par défaut, configurer cette directive évitera d'avoir à passer tout le code comme paramètre du constructeur de la classe com. Il est à noter qu'en utilisant cette directive (comme toute configuration de PHP), le code PHP perd en portabilité. Il faut utiliser le paramètre du constructeur à chaque fois que possible.

com.dotnet_version

La version du framework .NET à utiliser pour les objets dotnet. La valeur de cette configuration correspond aux trois premiers numéros du numéro de la version du framework, séparés par des points, et préfixés par la lettre v, c.-à-d. v4.0.30319.

com.typelib_file

Lorsqu'elle est configurée, cette directive doit être le chemin vers un fichier qui contient une liste de bibliothèques à charger au démarrage. Chaque ligne sera interprétée comme le nom de la bibliothèque de types et chargée comme si l'on avait utilisé com_load_typelib(). Les constantes seront enregistrées de façon persistante, pour que la bibliothèque ne soit chargée qu'une seule fois. Si le nom d'une bibliothèque de types se termine par #cis ou #case_insensitive, alors les constantes de cette bibliothèque de types seront enregistrées en mode insensible à la casse.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top