Entradas

Mostrando entradas de septiembre, 2012

Ingeniería inversa - Symfony2

Algunos proyectos web obligan a utilizar una base de datos existente y que no se puede modificar. En estos casos no es necesario crear las entidades con las herramientas explicadas en las secciones anteriores. Lo mejor es crear las entidades directamente a partir de la base de datos mediante las herramientas de ingeniería inversa que incluye Symfony2.

En primer lugar, configura la información de acceso a la base de datos mediante el archivo app/ config/parameters.ini (o, si lo prefieres, en el archivo app/config/config.yml). Después, eje- cuta el siguiente comando para transformar la estructura completa de tablas de la base de datos en las clases PHP de las entidades:

$ php app/console doctrine:mapping:import OfertaBundle annotation Importing mapping information from "default" entity manager > writing .../OfertaBundle/Entity/Ciudad.php > writing .../OfertaBundle/Entity/Oferta.php > writing .../OfertaBundle/Entity/Tienda.php // ...
El primer argumento del comando es e…

Herramienta para manejo de cache propia

Herramienta para el diseño de Diagramas UML y otros

Data Centers - Google

Error 403 - Symfony2 - Centos Linux

Error:
403 Forbidden You don't have permission to access /app_dev.php/aereo/ on this server. Apache/2.2.15 (CentOS) Server at tije.test.local Port 80
Solución:
find /var/www/html -type d -exec chmod -R 775 {} \; find /var/www/html -type f -exec chmod -R 664 {} \;
Nota: generalmente esto se da en ambiente de producción, por cuestiones de actualización de vendors, no es aconsejable hacerlo en ambiente de testing y/o desarrollo.

Failed to write cache and log file - Linux - Symfony2

Es un problema que sucede cuando no tenemos seteados los permisos correspondientes a la carpeta cache de app.

Error:

Whoops, looks like something went wrong. 1/1 RuntimeException: Failed to write cache file "/var/www/html/tijedev/app/cache/dev/classes.php".
Solución:

Posicionarse sobre la carpeta app del proyecto y lanzar.

chmod 755 -R cache
Nota:

También puede suceder con los logs, por lo tanto se debe lanzar:

chmod -R 777 logs
La instalación de php sobre Centos no trae las librerias que soportan SOAP:

yum install php-soap

Cómo minimizar los js y css con YUI Compressor - Symfony2

1) Descargar el JAR de YUI Compressor y guárdalo en:

app/Resources/java/yuicompressor.jar
2) Se debe configurar dos filtros Assetic en tu aplicación, uno para minimizar los JavaScript con el compresor YUI y otro para minimizar hojas de estilo:

#app/config/config.yml assetic: filters: yui_css: jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar" yui_js: jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar"
3) Uso

{% javascripts ’@AcmeFooBundle/Resources/public/js/*’ filter=’yui_js’ %} {% endjavascripts %}{% stylesheets ’@AcmeFooBundle/Resources/public/css/*’ filter=’yui_css’ %} {% endstylesheets %}

Migración Proyecto Symfony2 Windows a Linux - Problemas

Error: Class 'DOMDocument' not found
Solución: yum install php-xml

Error: Whoops, looks like something went wrong.
Solución: date.timezone = America/Buenos_Aires

Multihost - Centos

Editar el archivo

gedit /etc/httpd/conf/httpd.conf
1) Descomentar

NameVirtualHost *:80

2) Crear virtual hosts

# Virtual host general. <VirtualHost *:80> DocumentRoot "/var/www/html" <Directory "/var/www/html"> allow from all Options +Indexes </Directory> </VirtualHost> #Desarrollo <VirtualHost *:80> DocumentRoot "/var/www/html/tijedev/web" #DirectoryIndex app.php ServerName tije.dev.local <Directory "/var/www/html/tijedev/web"> AllowOverride All Allow from All </Directory> </VirtualHost> #Testing <VirtualHost *:80> DocumentRoot "/var/www/html/tijetest/web" #DirectoryIndex app.php ServerName tije.test.local <Directory "/var/www/html/tijetest/web"> AllowOverride All Allow from All </Directory> </VirtualHost> Abrir el archivo /etc/hosts y agregar los NameVirtual:

127.0.0.1 tije.dev.local
127.0.0.1 tije.test.local

FileZilla - Centos

Instalación de Filezilla sobre Centos:

1. wget http://nchc.dl.sourceforge.net/project/filezilla/FileZilla_Client/3.5.3/FileZilla_3.5.3_i586-linux-gnu.tar.bz2

2. tar -jxvf FileZilla_3.5.3_i586-linux-gnu.tar.bz2

3. cd FileZilla3/bin

4. ./filezilla

Luego mover la carpeta Filezilla3 a /opt

Permisos - Centos

Este comando se aplica a archivos y carpetas, se puede usar -R para dar permisos recursivamente. El comando es:
chmod [opciones] XXX nomCarpeta/nomFichero
Donde:

[opciones]
-R permiso recursivo, se asigna el mismo permiso a carpetas y archivos hijos

XXX
0 = Ningún permiso (Lectura = 0 + Escritura = 0 + Ejecución = 0)
1 = Permiso de Ejecución (Lectura = 0 + Escritura = 0 + Ejecución = 1)
2 = Permiso de Escritura (Lectura = 0 + Escritura = 2 + Ejecución = 0)
3 = Permiso de Escritura y Ejecución (Lectura = 0, Escritura = 2, Ejecución = 1)
4 = Permiso de Lectura (Lectura = 4 + Escritura = 0 + Ejecución = 0)
5 = Permiso de Lectura y Ejecución (Lectura = 4 + Escritura = 0 + Ejecución = 1)
6 = Permiso de Lectura y Escritura (Lectura = 4 + Escritura = 2 + Ejecución = 0)
7 = Permiso de Lectura, Escritura y Ejecución (Lectura = 4 + Escritura = 2 + Ejecución = 1)

¿Entonces, que es, por ejemplo, chmod 644? 

Son los Permisos que tiene asignados cada Identidad, sobre un archivo o carpeta, según su R…