viernes, 11 de abril de 2008

Creando un wiki con Symfony en menos de 20 minutos

Uno de los creadores de Symfony - François Zaninotto - ha publicado un tutorial en el que explica com0 crear un wiki básico con Symfony en menos de 20 minutos y con tan solo 50 lineas de código. El mismo se encuentra en Application Lego: Build a Wiki with Symfony in 20 Minutes y su correspondiente traducción hecha por la gente de Symfony.es en Creando un wiki con Symfony en menos de 20 minutos. Para todos aquellos que están comenzando con Symfony este tipo de tutoriales ayudan mucho a entender el framework aumentando la curiosidad por conocer mas de la herramienta.

lunes, 11 de febrero de 2008

Instalando Symfony mediante PEAR

Bueno esta pequeña guia de instalación es para mis compañeros de oficina y que mejor lugar para ponerla que mi blog; así estará disponible en linea en todo momento (Bueno si el servidor cumple lo de 24 por 365; eso es lo que dicen siempre para promocionarse). Ok vamos al asunto, esta instalación es con el pear que trae Xampp pero pueden usarlo igual si instalaron php por synaptic o lo compilaron.

Lo primero es poner el cli de php y el pear en el path(comúnmente ambos están en el mismo directorio), esto lo hacemos agregando la ruta donde se encuentran:

sudo vim /etc/environment

encontrarán algo como esto:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
/bin:/usr/games

agregan el path de los ejecutables mencionados (en mi caso /opt/lampp/bin) anteponiendo el separador : (dos puntos), entonces quedaria:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
/bin:/usr/games:/opt/lampp/bin"

nota: este paso no es obligatorio para trabajar pero es mas cómodo.

Ahora instalar symfony es solo seguir los siguientes comandos que están en el manual de symfony:

pear channel-discover pear.symfony-project.com

pear install symfony/symfony

nota:si les da un error de memoria tienen que editar al directiva del php.ini (/opt/lampp/etc/) memory_limit y cambiar su valor por 128M (con 64M creo que funcione pero yo siempre pongo ese valor).

Ahora para los que les gusta usar aptitude, apt-get o synaptic pueden hacer esto:

  1. Agregar al /etc/apt/sources.list: deb http://www.symfony-project.org/get ubuntu/
  2. Ejecutar aptitude update (o refresh en synaptic)
  3. Ejecutar aptitude install php5-symfony (o buscar symfony en synaptic y marcarlo para instalar)

Y listo! eso es todo para instalar symfony en linux con un servidor xampp.

viernes, 1 de febrero de 2008

Instalar oci8 en xampp bajo linux

Bueno estoy de vuelta, buscando como conectarme a una BD Oracle en linux(más específicamente ubuntu 7.10) utilizando el servidor xampp encontro una lista donde habia una solución que no me funcionó del todo bueno busca en la página de xampp y encontré un tip que complementa la solución de la lista. He aquí la solución combinada:

Nota: Estoy usando la versión de xampp 1.6.5a y el oracle instant client 10.2(creo que sirve cualquiera >= 9).

1- Bajar y descomprimir el xampp (yo lo hice en /opt) de http://www.apachefriends.org/en/xampp-linux.html

2- Bajarse el instant client de oracle 10g ú 11g de Oracle
nota: tienes que tener una cuenta creada en oracle para poder descargarlo.
Bueno esta en formato zip para extraer(lo hice también en /opt):

sudo unzip instantclient-basic-linux32-10.2.0.3-20061115.zip

si no tienes para descomprimir instala el Automatix y luego instalas Utilities-Archiving Tools.

3- Despues de descomprimir crea una carpeta llamada instantclient en /opt/lampp/lib/ y copia los archivos:

sudo cp /opt/instantclient_10_2/* /opt/lampp/lib/instantclient

y creas un enlace simbolico:

ln -s /opt/lampp/lib/libclntsh.so.10.2 /opt/lampp/lib/libclntsh.so.9.0

4- Crear el archivo /opt/lampp/lib/instantclient/tnsnames.ora

5- Ahora ejecutas

sudo /opt/lampp/lampp oci8

verás un dialogo:

Please enter the path to your Oracle installation:
ORA_HOME [/opt/lampp/lib/instantclient/] (Usa el que tengas tú)
installing symlinks...
patching php.ini...
OCI8 add-on activation likely successful.
LAMPP: Stopping Apache with SSL...
LAMPP: Starting Apache with SSL...

Y listo, la librería esta instalada.

para probar:

<?php
PutEnv("ORACLE_HOME=/opt/lampp/lib/instantclient");
PutEnv("TNS_ADMIN=/opt/lampp/lib/instantclient");
$c1 = oci_connect("user", "pass", "TNSNAME");
if(!$c1){
echo 'No se pudo conectar a la base de datos \n';
}else{
echo "Conexion realizada con exito\n";
}
?>

Aún no he encontrado como definir las variables de entorno para no tener que hacerlo dentro del archivo(imagino que es con un export dentro del bashrc), si alguien sabe como por favor comentarlo y si lo hago se los cuento luego. Espero que les sirva.