Como instalar plphp en ubuntu 7.04 y 7.10
Desde hace bastante tiempo, he estado trabajando con postgresql Y bueno entre idas y venidas, entre las grandes ventajas que tiene postgres, son los lenguajes procedurales los cuales nos facilitan mucho el trabajo de interaccion con la base de datos…
Particularmente yo adoro PHP, y por eso este HOWTO es para PLPHP
a continuacion colocare la forma que yo sigo para instalar PLPHP (que no es mas que PHP dentro de la base de datos)
en principio, necesitaremos varias cosas:
- PostgreSQL 8.2 en adelante (si estas usando PostgreSQL de repositorios, asegurate de tener los paquetes de desarrollo (postgresql-server-dev-8.2)… si compilamos el Postgres nosotros mismos, debemos tener las fuentes del mismo disponibles (por si acaso), y tener los binarios de postgres en nuestro PATH
- las fuentes de PHP 5 > que las podemos obtener directamente desde el sitio php.net
- la libreria libxml2-dev instalada (una dependencia de PHP cuando lo compilas)
- las fuentes de plphp que las obtenemos del sitio del proyecto en commandprompt
- Un poco de paciencia
luego de obtener las fuentes de PHP, vamos a compilarlo (Si, hay que compilar PHP, puesto que la version que esta en los repos, no nos va a ser util porque no esta compilada para ser embebida [--enable-embed], esto no afectara para nada otras versiones de PHP (Principalmenteporque la instalacion la haremos en un directorio no estandar)
manos a la obra:
si tenemos todo lo necesario (el paquete buid-esential) podremos compilar sin problemas:
en una consola, navegamos hasta el directorio donde estan las fuentes de php, y descomprimimos
$ tar -xvvzf php5.x.x.tar.gz
luego nos cambiamos al directorio php5.x.x y desde alli configuramos, hacemos el make y el make install ![]()
$ cd php5.x.x/
$ ./configure –prefix=/usr/local/plphp –enable-embed
nos podemos ir a tomar un cafe, pues aveces tarda un poco
$ make
Volvemos por las galletas…. ![]()
$ sudo make install
si teniamos todo lo que necesitabamos… entonces vamos bien… nos falta 1 solo paso
ahora vamos a compilar plphp, al igual que como hicimos con PHP, vamos a descomprimir, y por consola cambiarnos al directorio plphp-XXXX (donde XXXX es la version ;] ), despues de esto lo que viene es mantequilla:
$ ./configure –with-php=/usr/local/plphp
o en caso de que hubiesemos compilado postgres:
$ ./configure –with-php=/usr/local/plphp –with-postgres=/ruta/a/postgres
$ make
$ sudo make install
con esto, ya tendremos instalado el plphp, pero para que pueda ser usado por postgres, debemos hacer un ultimo paso:
$ ln -sf /usr/local/plphp/lib/libphp5.so $(pg_config --libdir)
para hacer un enlace simbolico en la carpeta de libs de postgres…
ya con esto… estamos listos, nos logueamos en el servidor como un superusuario (generalmente postgres)
y ejecutamos lo siguiente:
INSERT INTO pg_pltemplate VALUES('plphp', 't', 'plphp_call_handler', 'plphp_validator', '$libdir/plphp', NULL);
INSERT INTO pg_pltemplate VALUES('plphpu', 'f', 'plphp_call_handler', 'plphp_validator', '$libdir/plphp', NULL);
ya con esto, la base de datos template0/1 tendran plphp disponible como lenguaje… ahora simplemente en la base de datos que deseemos, debemos ejecutar esto:
CREATE LANGUAGE plphp; ya solo nos queda probar nuestra obra, creemos una funcion de prueba: create or replace function hola() returns text as $$ return 'Hola Mundo!';$$language plphp;
vamos a ver que pasa:
amarok=# SELECT HOLA(); hola-------------Hola Mundo!(1 fila)
Espero que les haya sido util este tutorial…
Recuerden luego de hacer esto, visitar:
https://projects.commandprompt.com/public/plphp/wiki/Documentation
