Se puede encontrar información para la instalación de esta extensión PECL en el capítulo del manual titulado Instalación de extensiones PECL. Se puede encontrar información adicional, tal como nuevos lanzamientos, descargas, ficheros fuente, información de mantenimiento, y un CHANGELOG, aquí: » https://pecl.php.net/package/sam.
El soporte de la framework SAM y MQTT puede ser construído y utilizado sin ningún otro requisito previo. El soporte para otros protocolos a parte de MQTT se proporciona en un conjunto de librerías y un código cliente denominado XMS.
Si únicamente se desea utilizar el soporte interno MQTT entonces se puede configurar SAM como una extensión o simplemente referir a php_sam.php con una cláusula require o require_once en su script PHP. En este caso únicamente es necesario instalar el código sin construir la extensión utilizando el instalador PEAR:
pecl install -B SAM
La extensión SAM se proporciona como un módulo PECL module, el cual se puede descargar e instalar en un solo paso como se muestra a continuación:
pecl install sam
Asegurar que el módulo es cargado por PHP, añadiendo la siguiente línea a php.ini:
extension=sam.so
extension=sam_xms.so
Si no puede utilizar el instalador PEAR, puede recargar la extensión y la construcción manualmente:
pear download sam #downloads sam-<version>.tgz tar -xzf sam-<version>.tgz cd sam-<version> phpize ./configure make make install #debería ser "root" para ejecutar este paso
Para trabajar con el código más reciente, necesitará extraerlo de SVN y construirlo manualmente como en el paso anterior.
Probablemente será necesario construir la extensión SAM para Windows puesto que sólo hay un rango liminado de ficheros binarios precompilados disponibles en la web de SAM. La extensión puede construirse utilizando los procedimientos estándares de construcción de las extensiones Windows.
Necesitará las fuentes de PHP para la versión de PHP para la que se quiere construir la extensión SAM, las cuales se pueden obtener de php.net. Se debe desempaquetar en un directorio de trabajo cualquiera.
También serán necesarias las librerías y cabeceras utilizadas por las extensiones PHP disponibles de http://www.php.net/extra/win32build.zip y éstas deben ser descomprimidas de tal forma que se sitúen en el directorio de trabajo.
Se ha de tener algo parecido a:
c:\php-build\- | |---php-5.0.5--|---build | |---ext | |--- ... | |---win32build--|---bin |---include |---lib
Será necesario un compilador como la versión gratuíta de Visual Studio C++ Express de la web de Microsoft. También será necesario el SDK Microsoft Windows Platform que también puede descargarse de la web de Microsoft.
Obtener el código de la extensión SAM utilizando PEAR (pecl download sam) o SVN y copiar los ficheros a un nuevo directorio "sam" bajo el directorio "ext" en su árbol de código PHP.
Para construir la extensión, abrir una ventana con un entorno de construcción yendo a Inicio
Esto debe abrir una ventana de comandos con todas las variables de entorno configuradas para acceder a la plataforma SDK etc. Entonces será necesario definir las variables de entorno de Visual Studio mediante el comando vcvars32.bat en la ventana.
Cambiar el directorio a nuestro directorio de trabajo que hemos elegido p.e. cd c:\php-build. Entonces asegurar que las herramientas win32build son accesibles añadiéndolas a la variable de entorno PATH:
set PATH=..\win32build\bin;%PATH%
Ejecutar el comando buildconf.bat. Esto debe reconstruir el fichero configure.js.
Ejecutar el comando cscript con las opciones apropiadas. Para construir únicamente la extensión SAM framework y el soporte MQTT utilizar:
cscript /nologo configure.js --with-sam
cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"
El parámetro adicional pasado para sam_xms es el path de instalación a las librerias XMS y el runtime que fue instalado tal y como se describió en el apartado de requisitos previos al principio de esta página.
Se puede especificar cualquier otro parámetro cscript que sea necesario para incluir o excluir elementos de la construcción PHP u opciones seleccionadas.
Asumiendo que todo ha ido bien finalmente se debe ejecutar un "make" para la framework SAM!
nmake php_sam.dll
nmake php_sam_xms.dll
Si se ha utilizado Visual Studio 2005 para construir las DLLs lea, por favor, los pasos siguientes que se especifican abajo para ejecutar antes de continuar más allá.
Las DLLs creadas (php_sam.dll y opcionalmente php_sam_xms.dll) pueden copiarse ahora al subdirectorio apropiado de su configuración PHP . Asegurarse de que el/los módulo/s son cargados por PHP, añadiendo las siguientes líneas a php.ini:
extension=php_sam.dll
extension=php_sam_xms.dll
Si se construye la extensión SAM extension con el compilador y las herramientas Microsoft Visual Studio 2005 es necesario realizar otro paso en el proceso de construcción para asegurar que php_sam.dll puede linkar con las librerías del runtime C runtime en el momento de ejecución. Este paso incluye el manifiesto de dependencia en la DLL. Ir al directorio donde se ha generado php_sam.dll (habitualmente Release_TS o Debug_TS bajo el directorio fuente de PHP) y ejecutar el conjuro mágico siguiente:
mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2
Si se construye la extensión SAM utilizando el compilador y las librerías de Microsoft Visual Studio 2005 también será necesario asegurar que los componentes del ejecutable están instalados en el sistema en el cual se desea utilizar SAM. Esto se puede hacer instalando Visual Studio 2005 o utilizando el distribuíble gratuíto » paquete de ejecución.