instalación de cakephp opciones avanzadas

Upload: dan171

Post on 31-Oct-2015

15 views

Category:

Documents


0 download

DESCRIPTION

Este documento describe como instalar CakePHP con un despliegue no estandar, es decir, una instalacion que no corresponde a un entorno de desarrollo.

TRANSCRIPT

Instalacin de CakePHP: Opciones avanzadas Luego de haber instalado en un hosting gratuito CakePHP hace varios meses, he de cidido volver a desarrollar con este framework. Lo nico malo es que no recordaba nada de como hice para instalarlo cuando no tengo permisos para cambiar el webro ot del servidor web. El dia de hoy (26 Oct. 2011), lo he vuelto a instalar y de una manera muchisimo mejor que la anterior, pues ahora si entiendo lo que hice, ademas de que us rutas relativas en la configuracin de los directorios principales de Cake. A continuac in explico el procedimiento en detalle. 1. Copiar todos los directorios y archivos presentes en la carpeta cakephpverxx/ app/webroot en el webroot (carpeta de publicacin) del proveedor de hosting. 2. Colocar a las constantes ROOT, APP_DIR y CAKE_CORE_INCLUDE_PATH del archivo h ostingwebroot/index.php (el cual es el que fue copiado de cakephpverxx/app/webro ot) los siguientes valores: 2.1 if (!defined('ROOT')) { define('ROOT', '.'.DS.'cakephp2p0'); }

2.2 if (!defined('APP_DIR')) { define('APP_DIR', 'app'); } 2.3 define('CAKE_CORE_INCLUDE_PATH', '.'.DS.'cakephp2p0'.DS.'lib'); Nota1: La ltima constante, CAKE_CORE_INCLUDE_PATH, estaba comentada. Los comentar ios alrededor de ella dicen que si no se le asigna un valor all, se le asignar en el archivo de inicio bootstrap.php. Se descoment y se le asign el valor correspond iente por si acaso. Nota2: Al parecer, la declaracin y asignacin de valor a la ltima constante (CAKE_CO RE_INCLUDE_PATH) no hace falta, ya que al parecer teniendo un valor erroneo o es tando comentada CakePHP funciona igual. Nota3: Como se puede ver, todas las constantes tienen paths relativos, esta es u na opcin mucho mejor que la que haba tomado anteriormente, la cual fue colocar pat hs absolutos, opcion que tiene muchos secretos tcnicos como indico en el siguiente parrafo (por si acaso alguien por alguna razn decide aplicarla). Nota4: El caso con los paths absolutos, es que en la mayora de los casos, la jera rqua de directorios real no es la que se muestra en el administrador de archivos del webhosting, sino que en lugar de ser: - /htdocs/cakephpverxx/app /htdocs/cakephpverxx/lib/Cake es - /home/volxy/hostingprovider.com/bx_xxxxxxx/htdocs/cakephpverxx /home/volxy/hostingprovider.com/bx_xxxxxxx/htdocs/cakephpverxx/lib

Nota5: Me d cuenta de la verdadera jerarqua de directorios escribiendo www.dominio dejemplo.com/test.php y viendo el detalle del warning de error en el include mos trado por el dump que decia que no se poda encontrar x archivo en "/home/volxy/ho stingprovider.com/bx_xxxxxxx/htdocs/cakephpverxx/lib" en la lnea xx. Si no hubies e sido por eso, hubiera pensado que deba configurar el archivo bootstrap.php para que CakePHP funcionara, que el error se encontraba en otra parte. As que queda d e parte de Uds. descubrir o investigar cual es la verdadera jerarqua de directori os de su hosting provider. Nota6: Estoy 90% seguro que no es necesario configurar estas constantes en el ar chivo cakephpverxx/app/webroot/test.php ( hostingwebroot/test.php) ya que segn la documentacin de Cake esto sol hara falta si se fueran a usar las utilidades de test eo (o algo as) que CakePHP tiene. Nota7: Indudablemente, es mejor usar los paths relativos, ya que si el da de maana nuestro webhostingprovider hace un cambio en su plataforma el funcionamiento de nuestro site no ser afectado (lo cual puede dejar el sitio offline por mucho tie mpo si es que no lo monitoreamos seguidamente). Otra ventaja de usar paths relat ivos es que si nos fueramos a mudar de hosting slo bastaria copiar la carpeta roo t y todo sus subdirectorios, ya que nuestra instalacin de Cake sera totalmente por table, al menos desde el punto de vista de la instalacin y configuracin de CakePHP . Eso es todo. Hasta la prxima. NOTA 05/02/2012: Al menos para CakePHP 1.3 el path de ROOT debe ser absoluto, ya que si se colocan paths relativos pueden aparecer errores como "Missing Control ler" an cuando el controlador este bien hecho.