Como instalar plphp en ubuntu 7.04 y 7.10

Posted by Santiago Zarate on Friday, November 30. 2007 at 16:27 in Bases de Datos, linux, PHP, PostgreSQL, Programacion, Tecnico, Ubuntu

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:

  1. 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
  2. las fuentes de PHP 5 > que las podemos obtener directamente desde el sitio php.net
  3. la libreria libxml2-dev instalada (una dependencia de PHP cuando lo compilas)
  4. las fuentes de plphp que las obtenemos del sitio del proyecto en commandprompt
  5. 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.... :-D

$ 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


Trackbacks

No Trackbacks

Comments
Display comments as (Linear | Threaded)

Excelente jautu! lo hice en ubuntu server 4 y funciona de maravillas. Muchisimas gracias! tuve algunos problemas con el unixODBC pues uso mis fuciones en plphp para interactuar con otras bases de datos q no stan en postgres. Pero creo que todo funciona perfectamente . SALUDOS!
#1 Boris pasapera on 2008-02-22 12:07 (Reply)
Saludos! me alegra que te sea util este tutorial!... vienen otros buenos tutoriales... proximamente
#1.1 Santiago Zarate (Homepage) on 2008-02-27 11:20 (Reply)
Otra pregunta, has instalado ese lenguaje plPhp en la version de postgres para windows ???? he intentado recompilar el php alli me baje el baje el plphp 1.3.5 beta
y el cygwin
pero no logro compilarlo
me bota un error de sintaxis en "makefile"
!!!
Podrias darme una luz en eso
GRACIAS de antemano
#1.1.1 Boris Pasapera on 2009-04-20 10:11 (Reply)
Aunque lograras compilarlo, creo que no funcionaria... algo se habia hablado en las listas de plphp... pero no recuerdo con exactitud...

Saludos
#1.1.1.1 Santiago Zarate (Homepage) on 2009-04-23 21:46 (Reply)
Muito obrigado.
Faz tempo que queria usar a plphp mas não conseguia.
Agora consegui.
Apenas estou com dificuldade no $libdir.
Mas obrigado.
#2 Ribamar FS (Homepage) on 2008-07-16 14:35 (Reply)
en realidad no entiendo mucho, ya que estoy empezando a usar ubuntu, pero de todas formas muchas gracias amigo...
#3 walterps on 2008-10-16 20:24 (Reply)

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

 
 

Unete

Venezuela Team

Elbrollo.com

Uso WMII

Urban Terror Venezuela | Counter Strike Pwned!




Use OpenDNS



Galaxia Linux Cibertito.com