## Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/sam.

Le framework SAM et le support MQTT peuvent être construits et utilisés sans aucun élément supplémentaire. Le support pour les protocoles autres que MQTT est fourni via un jeu de bibliothèques et du code côté client, comme XMS.

Si vous ne souhaitez utiliser que le support interne MQTT, alors, vous pouvez construire et configurer SAM en tant qu'extension ou simplement vous référer à php_sam.php grâce aux fonctions require ou require_once dans votre script PHP. Dans ce cas, vous devez uniquement installer le code, sans construire l'extension via l'installeur PEAR :

    pecl install -B SAM

## Étapes d'installation sous Linux

L'extension SAM est fournie en tant que module PECL. Vous devriez donc pouvoir la télécharger et l'installer en une seule étape, comme ceci :

    pecl install sam

(Suivant votre environnement PHP, vous devrez probablement être "root" pour faire ceci.)

Assurez-vous que le module a été chargé par PHP, en ajoutant la ligne suivante à votre php.ini :

    extension=sam.so

Si vous voulez utiliser le support XMS afin d'accéder à la messagerie IBM, vous devez également activer l'extension SAM XMS.

    extension=sam_xms.so

Si vous ne pouvez pas utiliser l'installeur PEAR, vous pouvez télécharger l'extension et la construire manuellement :

    pear download sam          #téléchargement de sam-<version>.tgz
    tar -xzf sam-<version>.tgz
    cd sam-<version>
    phpize
    ./configure
    make
    make install               #vous devriez devoir être root pour cette étape

Pour avoir la toute dernière source, vous devriez extraire les sources depuis SVN et la construire en utilisant les instructions qui se trouvent dans ce manuel.

## Étapes d'installation sous Windows

Vous devez construire l'extension SAM pour Windows car il n'existe pas de binaire précompilé. L'extension peut être construite en utilisant les procédures standards de construction des extensions Windows.

Vous devez avoir les sources de PHP pour lesquelles l'extension SAM doit être utilisée. Les sources doivent être décompressées dans le répertoire de votre choix.

Vous devez également avoir les bibliothèques et en-têtes utilisés par les extensions PHP, disponibles sur http://www.php.net/extra/win32build.zip et doivent être décompressés dans le même dossier de travail.

Vous devriez obtenir quelque chose comme :

    c:\php-build\-
                  |
                  |---php-5.0.5--|---build
                  |              |---ext
                  |              |--- ...
                  |
                  |---win32build--|---bin
                                  |---include
                                  |---lib

Vous devez avoir également un compilateur, par exemple, la version gratuite de Visual Studio C++ Express que vous trouverez sur le site web de Microsoft. Vous devez aussi avoir le SDK Microsoft Windows Platform qui est également disponible sur le site web de Microsoft.

Téléchargez les sources de l'extension SAM (pear download sam) ou en utilisant SVN et copiez les fichiers dans un nouveau dossier "sam" du dossier "ext" des sources PHP.

Pour construire l'extension, ouvrez un environnement de construction Windows via

menu->Tous les programmes->microsoft platform SDK for windows->
open build environment window->windows 200 build environment->
set windows 2000 build environment (retail)

Ceci devrait ouvrir une fenêtre de commande avec toutes les variables d'environnements définies afin d'accéder à la plate-forme SDK, etc. Vous devez ensuite définir les variables d'environnements pour Visual Studio en lançant la commande vcvars32.bat dans la fenêtre.

Déplacez-vous dans votre dossier de travail, e.g. cd c:\php-build. Ensuite, assurez-vous que les utilitaires win32build soient accessibles en ajoutant la variable d'environnement suivante :

    set PATH=..\win32build\bin;%PATH%

Exécutez la commande buildconf.bat. Ceci devrait reconstruire le fichier configure.js.

Exécutez la commande cscript avec les options appropriées. Pour uniquement construire l'extension SAM et le support MQTT, utilisez :

    cscript /nologo configure.js --with-sam

Pour construire le framework SAM et le support XMS, utilisez :

    cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"

Le paramètre additionnel passé à SAM est le chemin d'installation vers les bibliothèques XMS et d'exécution qui ont été installées comme décrit en début de ce manuel.

Vous pouvez spécifier d'autres paramètres cscript dont vous avez besoin pour inclure et exclure des éléments de votre construction de PHP ou des options sélectionnées.

En supposant que tout est Ok jusqu'ici pour vous, vous pouvez maintenant lancer la construction !

    nmake php_sam.dll

De plus, si vous utilisez le support XMS, vous devrez construire l'extension sam_xms :

    nmake php_sam_xms.dll

Si vous avez utiliser Visual Studio 2005 pour construire les bibliothèques DLL, alors lisez ce qui suit pour les étapes additionnelles que vous devez effectuer avant d'aller plus loin.

Les bibliothèques DLLs créées (php_sam.dll, et, optionnellement php_sam_xms.dll) peuvent maintenant être copiées dans le sous répertoire approprié de votre installation de PHP. Assurez-vous que le(s) module(s) est(sont) chargé(s) par PHP, en ajoutant la ligne suivante à votre php.ini :

    extension=php_sam.dll

Si vous voulez utiliser le support XMS pour accéder à IBM Messaging and Queuing family, vous devez également activer l'extension SAM XMS.

    extension=php_sam_xms.dll

## Étapes additionnelles pour Visual Studio 2005

Si vous construisez l'extension SAM avec le compilateur et les outils Microsoft Visual Studio 2005, vous devez effectuer une étape supplémentaire dans le processus de compilation afin de vous assurer que la bibliothèque php_sam.dll soit capable de se lier aux bibliothèques C durant l'exécution. Cette étape ajoute la dépendance directement dans la DLL. Déplacez-vous dans le répertoire oÃ¹ la bibliothèque php_sam.dll a été générée (habituellement le dossier Release_TS ou Debug_TS du dossier des sources PHP) et exécutez l'incantation magique suivante :

    mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2

Si vous utilisez les capacités XMS, vous devez effectuer la même chose avec la bibliothèque SAM XMS :

    mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2

Si vous construisez l'extension SAM en utilisant le compilateur et les bibliothèques Microsoft Visual Studio 2005, vous devriez aussi vous assurer que les composants d'exécution sont présents sur le système sur lequel vous voulez utiliser SAM. Ceci peut être fait en installation Visual Studio 2005 ou en utilisant le » paquet d'exécution librement distribuable.