944 063 154

Blog

Cargar extensión de PHP desde código (en tiempo de ejecución)

Publicado enDesarrollo web

Si quieres cargar una extensión de PHP, puedes hacerlo de dos formas: compilando la extensión que necesites o cargando el DLL. La opción más recomendada es mediante DLL; pero, para ello dicha extensión deberá encontrarse como fichero .dll en tu sistema. En el caso de que no la encuentres, tendrás que compilarla. Aunque las extensiones más habituales suelen venir por defecto con PHP, por lo que en la mayoría de los casos podrás buscarla en PECL (Biblioteca de la Comunidad de Extensiones de PHP); un repositorio de extensiones de PHP donde se encuentran las más utilizadas y donde puedes desarrollar tus propias extensiones.

Cargando una extensión de PHP

Para cargar una extensión en tiempo de ejecución en PHP podemos incluirla en el fichero php.ini de configuración; para lo cual disponemos de la función dl(). Lo habitual es que una extensión de PHP se escriba de la siguiente manera: “php_nombre de la extensión”.dll; y que se encuentren junto a “PHP\ext”. En este caso, si quisiéramos cargar una extensión para conectarse a una base de datos MySQL, haríamos lo siguiente:

if(!extension_loaded("mysql")){
  dl("php_mysql.".PHP_SHLIB_SUFFIX);
}

El valor de la constante PHP_SHLIB_SUFFIX almacena la extensión que tendría una librería dependiendo el sistema operativo en el que corra nuestra aplicación.

Recuerda que, tras cargar y activar una extensión de PHP, deberías reiniciar el servidor y comprobar que la nueva extensión cuenta con su propia sección.