Cargar una Extensión de PHP Dinámicamente
Una vez que compilamos la extensión de PHP podemos realizar dos acciones:
- Estáticamente: Incluir la Extensión en el archivo "php.ini" para que esta se cargue automáticamente y sea accesible para todos los usuarios que usen el mismo servidor. Este procedimiento esta explicado en el artículo anterior.
- Dinámicamente: Incluir la extensión en tiempo de ejecución en nuestra aplicación, esto quiere decir que solo estará accesible para quien esté programando la aplicación y no para los demás usuarios, lo cual es bastante interesante, sobre todo si no queremos que otros usuarios tengan tantas extensiones a su disposición.
Para lograr cargar la extensión en tiempo de ejecución solo es necesario que después de haber compilado la extensión, se copia a algún directorio accesible para nuestra aplicación por ejemplo "extensiones".
Ya desde el desarrollo de nuestra aplicación solo es necesario llamar su carga con el siguiente código:
<?php
if (!extension_loaded('mssql')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl("extensiones/" . $prefix . 'mssql.' . PHP_SHLIB_SUFFIX);
}
?>
La segunda linea revisa si ya se encuentra cargada la extensión, si es negativo pasa a la tercera linea, donde se revisa el sufijo del sistema, esto quiere decir que si esta en Linux, la extensión es ".so" y si esta sobre Windows, la extensión es ".dll" y además en Windows las exenciones tienen un prefijo "php_" por lo que se debe agregar al nombre de la extensión. Por ejemplo:
Linux: mssql.so
Windows: php_mssql.dll
Windows: php_mssql.dll
Ya en la cuarta linea se realiza la carga con la función "dl", en la cual se debe de ubicar la dirección de la extensión.
Listo, de esta forma tendremos el uso de la extensión "mssql" accesible únicamente por nuestra aplicación.
![]() |
Hola que tal!! Mi nombre es Luis, me gustaria que me explicaran como puedo utilizar la extension ingres.dll y si es necesario configurar el extension_dir, o que tengo que hacer, y como puedo conectarme a una base en ingres y como se corre los cursores mediante php.. ya que no me reconoce la funcion ingres_conect, si algien me pudiera ayudar les agredeceria muchoooo, espero su pronta respuesta a: spiderman2917@hotmail.com |
![]() |
me dice que la compilacion de las extensiones son diferentes a las compilacion del php...por favor como soluciono este problema, tengo windows xp sp2 |


hola, mi nombre es carlos lacera, actualmente estoy interesado en utilizar la extensión de php clips, la cual supuestamente me permitira ejecutar una aplicacion de sistema experto hecho en clips desde una pagina php, el web oficial de la extension http://phlips.sourceforge.net, dice que para poder instalar esta extensión en un S.O. windowsXP solo hay que copiar el archivo php_clips.dll en la carpeta ext de php, agregar la linea extension=php_clips.dll en el archivo php.ini y reiniciar el servidor apahce.
pero despues de hacerlo y ejecutar la pagina php y muestra un error en donde me indica que no reconoce la sintaxi que deberia reconocer gracias a la extensión ya probe de todo para porder hacer que funcione pero no lo consigo.
si alguien pudiera ayudarme agradeceria una pronta respuesta a: carlos_lacera@yahoo.es.