mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-14 22:30:27 +08:00
Some spanish docs updates [skip ci] (#11621)
This commit is contained in:

committed by
Dmitry Naumenko

parent
fdbf7d85a1
commit
04835e5a33
@ -3,8 +3,8 @@ Clase Auxiliar URL (URL Helper)
|
|||||||
|
|
||||||
La clase auxiliar URL proporciona un conjunto de métodos estáticos para gestionar URLs.
|
La clase auxiliar URL proporciona un conjunto de métodos estáticos para gestionar URLs.
|
||||||
|
|
||||||
Obtener URLs Comunes
|
|
||||||
--------------------
|
## Obtener URLs comúnes <span id="getting-common-urls"></span>
|
||||||
|
|
||||||
Se pueden usar dos métodos para obtener URLs comunes: URL de inicio (home URL) y URL base (base URL) de la petición
|
Se pueden usar dos métodos para obtener URLs comunes: URL de inicio (home URL) y URL base (base URL) de la petición
|
||||||
(request) actual. Para obtener la URL de inicio se puede usar el siguiente código:
|
(request) actual. Para obtener la URL de inicio se puede usar el siguiente código:
|
||||||
@ -15,7 +15,7 @@ $absoluteHomeUrl = Url::home(true);
|
|||||||
$httpsAbsoluteHomeUrl = Url::home('https');
|
$httpsAbsoluteHomeUrl = Url::home('https');
|
||||||
```
|
```
|
||||||
|
|
||||||
Si no se pasan parámetros, las URLs generadas son relativas. Se puede pasar `true`para obtener la URL absoluta del
|
Si no se pasan parámetros, la URL generada es relativa. Se puede pasar `true`para obtener la URL absoluta del
|
||||||
esquema actual o especificar el esquema explícitamente (`https`, `http`).
|
esquema actual o especificar el esquema explícitamente (`https`, `http`).
|
||||||
|
|
||||||
Para obtener la URL base de la petición actual, se puede usar el siguiente código:
|
Para obtener la URL base de la petición actual, se puede usar el siguiente código:
|
||||||
@ -28,11 +28,11 @@ $httpsAbsoluteBaseUrl = Url::base('https');
|
|||||||
|
|
||||||
El único parámetro del método funciona exactamente igual que para `Url::home()`.
|
El único parámetro del método funciona exactamente igual que para `Url::home()`.
|
||||||
|
|
||||||
Creación de URLs
|
|
||||||
----------------
|
|
||||||
|
|
||||||
Para crear una URL para una ruta determinada se puede usar `Url::toRoute()`. El metodo utiliza [[\yii\web\UrlManager]]
|
## Creación de URLs <span id="creating-urls"></span>
|
||||||
para crear una URL:
|
|
||||||
|
Para crear una URL para una ruta determinada se puede usar `Url::toRoute()`. El método utiliza [[\yii\web\UrlManager]]
|
||||||
|
para crear la URL:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
$url = Url::toRoute(['product/view', 'id' => 42]);
|
$url = Url::toRoute(['product/view', 'id' => 42]);
|
||||||
@ -42,7 +42,7 @@ Se puede especificar la ruta como una cadena de texto, ej. `site/index`. Tambié
|
|||||||
quieren especificar parámetros para la URL que se esta generando. El formato del array debe ser:
|
quieren especificar parámetros para la URL que se esta generando. El formato del array debe ser:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
// genera: /index.php?r=site/index¶m1=value1¶m2=value2
|
// genera: /index.php?r=site%2Findex¶m1=value1¶m2=value2
|
||||||
['site/index', 'param1' => 'value1', 'param2' => 'value2']
|
['site/index', 'param1' => 'value1', 'param2' => 'value2']
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -53,9 +53,8 @@ Si se quiere crear una URL con un enlace, se puede usar el formato de array con
|
|||||||
['site/index', 'param1' => 'value1', '#' => 'name']
|
['site/index', 'param1' => 'value1', '#' => 'name']
|
||||||
```
|
```
|
||||||
|
|
||||||
Una ruta puede ser absoluta o relativa. Una ruta absoluta tiene una barra al principio (ej. `/site/index`),
|
Una ruta puede ser absoluta o relativa. Una ruta absoluta tiene una barra al principio (ej. `/site/index`), mientras que una ruta relativa
|
||||||
mientras que una ruta relativa no la tiene (ej. `site/index` o `index`). Una ruta relativa se convertirá en una
|
no la tiene (ej. `site/index` o `index`). Una ruta relativa se convertirá en una ruta absoluta siguiendo las siguientes reglas:
|
||||||
ruta absoluta siguiendo las siguientes normas:
|
|
||||||
|
|
||||||
- Si la ruta es una cadena vacía, se usará la [[\yii\web\Controller::route|route]] actual;
|
- Si la ruta es una cadena vacía, se usará la [[\yii\web\Controller::route|route]] actual;
|
||||||
- Si la ruta no contiene barras (ej. `index`), se considerará que es el ID de una acción del controlador actual y
|
- Si la ruta no contiene barras (ej. `index`), se considerará que es el ID de una acción del controlador actual y
|
||||||
@ -63,19 +62,26 @@ ruta absoluta siguiendo las siguientes normas:
|
|||||||
- Si la ruta no tiene barra inicial (ej. `site/index`), se considerará que es una ruta relativa del modulo actual y
|
- Si la ruta no tiene barra inicial (ej. `site/index`), se considerará que es una ruta relativa del modulo actual y
|
||||||
se le antepondrá el [[\yii\base\Module::uniqueId|uniqueId]] del modulo.
|
se le antepondrá el [[\yii\base\Module::uniqueId|uniqueId]] del modulo.
|
||||||
|
|
||||||
|
Desde la versión 2.0.2, puedes especificar una ruta en términos de [alias](concept-aliases.md). Si este es el caso,
|
||||||
|
el alias será convertido primero en la ruta real, la cual será entonces transformada en una ruta absoluta de acuerdo
|
||||||
|
a las reglas mostradas arriba.
|
||||||
|
|
||||||
A continuación se muestran varios ejemplos del uso de este método:
|
A continuación se muestran varios ejemplos del uso de este método:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
// /index?r=site/index
|
// /index.php?r=site%2Findex
|
||||||
echo Url::toRoute('site/index');
|
echo Url::toRoute('site/index');
|
||||||
|
|
||||||
// /index?r=site/index&src=ref1#name
|
// /index.php?r=site%2Findex&src=ref1#name
|
||||||
echo Url::toRoute(['site/index', 'src' => 'ref1', '#' => 'name']);
|
echo Url::toRoute(['site/index', 'src' => 'ref1', '#' => 'name']);
|
||||||
|
|
||||||
// http://www.example.com/index.php?r=site/index
|
// /index.php?r=post%2Fedit&id=100 asume que el alias "@postEdit" se definió como "post/edit"
|
||||||
|
echo Url::toRoute(['@postEdit', 'id' => 100]);
|
||||||
|
|
||||||
|
// http://www.example.com/index.php?r=site%2Findex
|
||||||
echo Url::toRoute('site/index', true);
|
echo Url::toRoute('site/index', true);
|
||||||
|
|
||||||
// https://www.example.com/index.php?r=site/index
|
// https://www.example.com/index.php?r=site%2Findex
|
||||||
echo Url::toRoute('site/index', 'https');
|
echo Url::toRoute('site/index', 'https');
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -99,13 +105,16 @@ el especificado.
|
|||||||
A continuación se muestran algunos ejemplos de uso:
|
A continuación se muestran algunos ejemplos de uso:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
// /index?r=site/index
|
// /index.php?r=site%2Findex
|
||||||
echo Url::to(['site/index']);
|
echo Url::to(['site/index']);
|
||||||
|
|
||||||
// /index?r=site/index&src=ref1#name
|
// /index.php?r=site%2Findex&src=ref1#name
|
||||||
echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name']);
|
echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name']);
|
||||||
|
|
||||||
// la URL solicitada actualmente
|
// /index.php?r=post%2Fedit&id=100 asume que el alias "@postEdit" se definió como "post/edit"
|
||||||
|
echo Url::to(['@postEdit', 'id' => 100]);
|
||||||
|
|
||||||
|
// the currently requested URL
|
||||||
echo Url::to();
|
echo Url::to();
|
||||||
|
|
||||||
// /images/logo.gif
|
// /images/logo.gif
|
||||||
@ -121,8 +130,24 @@ echo Url::to('@web/images/logo.gif', true);
|
|||||||
echo Url::to('@web/images/logo.gif', 'https');
|
echo Url::to('@web/images/logo.gif', 'https');
|
||||||
```
|
```
|
||||||
|
|
||||||
Recordar la URL para utilizarla más adelante
|
Desde la versión 2.0.3, puedes utilizar [[yii\helpers\Url::current()]] para crear una URL a partir de la ruta
|
||||||
--------------------------------------------
|
solicitada y los parámetros GET. Puedes modificar o eliminar algunos de los parámetros GET, o también agregar nuevos
|
||||||
|
pasando un parámetro `$params` al método. Por ejemplo,
|
||||||
|
|
||||||
|
```php
|
||||||
|
// asume que $_GET = ['id' => 123, 'src' => 'google'], la ruta actual es "post/view"
|
||||||
|
|
||||||
|
// /index.php?r=post%2Fview&id=123&src=google
|
||||||
|
echo Url::current();
|
||||||
|
|
||||||
|
// /index.php?r=post%2Fview&id=123
|
||||||
|
echo Url::current(['src' => null]);
|
||||||
|
// /index.php?r=post%2Fview&id=100&src=google
|
||||||
|
echo Url::current(['id' => 100]);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Recordar URLs <span id="remember-urls"></span>
|
||||||
|
|
||||||
Hay casos en que se necesita recordar la URL y después usarla durante el procesamiento de una de las peticiones
|
Hay casos en que se necesita recordar la URL y después usarla durante el procesamiento de una de las peticiones
|
||||||
secuenciales. Se puede logar de la siguiente manera:
|
secuenciales. Se puede logar de la siguiente manera:
|
||||||
@ -145,11 +170,9 @@ $url = Url::previous();
|
|||||||
$productUrl = Url::previous('product');
|
$productUrl = Url::previous('product');
|
||||||
```
|
```
|
||||||
|
|
||||||
Reconocer la relatividad de URLs
|
## Chequear URLs relativas <span id="checking-relative-urls"></span>
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
Para descubrir si una URL es relativa, es decir, que no contenga información del host, se puede utilizar el siguiente
|
Para descubrir si una URL es relativa, es decir, que no contenga información del host, se puede utilizar el siguiente código:
|
||||||
código:
|
|
||||||
|
|
||||||
```php
|
```php
|
||||||
$isRelative = Url::isRelative('test/it');
|
$isRelative = Url::isRelative('test/it');
|
||||||
|
@ -1,58 +1,89 @@
|
|||||||
Instalando Yii
|
Instalar Yii
|
||||||
==============
|
============
|
||||||
|
|
||||||
Yii puede ser instalado de dos maneras, usando [Composer](https://getcomposer.org/) o descargando un archivo comprimido.
|
Puedes instalar Yii de dos maneras, utilizando el administrador de paquetes [Composer](https://getcomposer.org/) o descargando un archivo comprimido.
|
||||||
Es preferible usar la primera forma, ya que te permite instalar [extensiones](structure-extensions.md) o actualizar Yii ejecutando un simple comando.
|
La forma recomendada es la primera, ya que te permite instalar nuevas [extensions](structure-extensions.md) o actualizar Yii con sólo ejecutar un comando.
|
||||||
|
|
||||||
> Note: A diferencia de Yii 1, la instalación estándar de Yii 2 resulta en la descarga e instalación tanto del framework como del esqueleto de la aplicación.
|
La instalación estándar de Yii cuenta tanto con el framework como un template de proyecto instalados.
|
||||||
|
Un template de proyecto es un proyecto Yii funcional que implementa algunas características básicas como: login, formulario de contacto, etc.
|
||||||
|
El código está organizado de una forma recomendada. Por lo tanto, puede servir como un buen punto de partida para tus proyectos.
|
||||||
|
|
||||||
|
En esta y en las próximas secciones, describiremos cómo instalar Yii con el llamado *Template de Proyecto Básico*
|
||||||
|
y cómo implementar nuevas características por encima del template. Yii también provee otro template llamado
|
||||||
|
[Template de Proyecto Avanzado](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/README.md) qué es mejor para desarrollar aplicaciones con varios niveles
|
||||||
|
en el entorno de un equipo de desarrollo.
|
||||||
|
|
||||||
|
> Info: El Template de Proyecto Básico es adecuado para desarrollar el 90 porciento de las aplicaciones Web. Difiere del
|
||||||
|
Template de Proyecto Avanzado principalmente en cómo está organizado el código. Si eres nuevo en Yii, te recomendamos
|
||||||
|
utilizar el Template de Proyecto Básico por su simplicidad pero funcionalidad suficiente.
|
||||||
|
|
||||||
|
|
||||||
Instalando a través de Composer <span id="installing-via-composer"></span>
|
Installing via Composer <span id="installing-via-composer"></span>
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
Si aún no tienes Composer instalado, puedes hacerlo siguiendo las instrucciones que se encuentran en
|
Si aún no tienes Composer instalado, puedes hacerlo siguiendo las instrucciones que se encuentran en
|
||||||
[getcomposer.org](https://getcomposer.org/download/). En Linux y Mac OS X, se ejecutan los siguientes comandos:
|
[getcomposer.org](https://getcomposer.org/download/). En Linux y Mac OS X, se ejecutan los siguientes comandos:
|
||||||
|
|
||||||
curl -sS https://getcomposer.org/installer | php
|
```bash
|
||||||
mv composer.phar /usr/local/bin/composer
|
curl -sS https://getcomposer.org/installer | php
|
||||||
|
mv composer.phar /usr/local/bin/composer
|
||||||
|
```
|
||||||
|
|
||||||
En Windows, tendrás que descargar y ejecutar [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
|
En Windows, tendrás que descargar y ejecutar [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
|
||||||
|
|
||||||
Por favor, consulta la [Documentación de Composer](https://getcomposer.org/doc/) si encuentras algún problema
|
Por favor, consulta la [Documentación de Composer](https://getcomposer.org/doc/) si encuentras algún problema
|
||||||
o deseas obtener un conocimiento más profundo sobre su utilización.
|
o deseas obtener un conocimiento más profundo sobre su utilización.
|
||||||
|
|
||||||
Si ya tienes composer instalado asegurate que esté actualizado ejecutando `composer self-update`
|
Si ya tienes composer instalado, asegúrate de tener una versión actualizada. Puedes actualizar Composer
|
||||||
|
ejecutando el comando `composer self-update`
|
||||||
|
|
||||||
Teniendo Composer instalado, puedes instalar Yii ejecutando los siguientes comandos en un directorio accesible vía Web:
|
Teniendo Composer instalado, puedes instalar Yii ejecutando los siguientes comandos en un directorio accesible vía Web:
|
||||||
Nota: es posible que en al ejecutar el primer comando te pida tu username
|
|
||||||
|
|
||||||
composer global require "fxp/composer-asset-plugin:~1.1.1"
|
```bash
|
||||||
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
|
composer global require "fxp/composer-asset-plugin:~1.1.1"
|
||||||
|
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
|
||||||
|
```
|
||||||
|
|
||||||
El comando anterior instala Yii dentro del directorio `basic`.
|
El primer comando instala [composer asset plugin](https://github.com/francoispluchino/composer-asset-plugin/),
|
||||||
|
que permite administrar dependencias de paquetes bower y npm a través de Composer. Sólo necesitas ejecutar este comando
|
||||||
|
una vez. El segundo comando instala Yii en un directorio llamado `basic`. Puedes elegir un nombre de directorio diferente si así lo deseas.
|
||||||
|
|
||||||
> Tip: Si quieres instalar la última versión de desarrollo de Yii, puedes utilizar el siguiente comando,
|
> Note: Durante la instalación, Composer puede preguntar por tus credenciales de acceso de Github. Esto es normal ya que Composer
|
||||||
> que añade una [opción de estabilidad mínima](https://getcomposer.org/doc/04-schema.md#minimum-stability):
|
> necesita obtener suficiente límite de acceso de la API para traer la información de dependencias de Github. Para más detalles,
|
||||||
|
> consulta la [documentación de Composer](https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens).
|
||||||
|
|
||||||
|
> Tip: Si quieres instalar la última versión de desarrollo de Yii, puedes utilizar uno de los siguientes comandos,
|
||||||
|
> que agregan una [opción de estabilidad](https://getcomposer.org/doc/04-schema.md#minimum-stability):
|
||||||
>
|
>
|
||||||
> composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
|
> ```bash
|
||||||
|
> composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
|
||||||
|
> ```
|
||||||
>
|
>
|
||||||
> Ten en cuenta que la versión de desarrollo de Yii no debería ser usada para producción ya que podría romper el funcionamiento actual de la aplicación.
|
> Ten en cuenta que la versión de desarrollo de Yii no debería ser utilizada en producción ya que podría romper tu código actual.
|
||||||
|
|
||||||
|
|
||||||
Instalando desde un Archivo Comprimido <span id="installing-from-archive-file"></span>
|
Instalar desde un Archivo Comprimido <span id="installing-from-archive-file"></span>
|
||||||
--------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
Instalar Yii desde un archivo comprimido involucra dos pasos:
|
Instalar Yii desde un archivo comprimido involucra tres pasos:
|
||||||
|
|
||||||
1. Descargar el archivo desde [yiiframework.com](http://www.yiiframework.com/download/yii2-basic).
|
1. Descargar el archivo desde [yiiframework.com](http://www.yiiframework.com/download/yii2-basic).
|
||||||
2. Descomprimirlo en un directorio accesible vía Web.
|
2. Descomprimirlo en un directorio accesible vía Web.
|
||||||
|
3. Modificar el archivo `config/web.php` introduciendo una clave secreta para el ítem de configuración `cookieValidationKey`
|
||||||
|
(esto se realiza automáticamente si estás instalando Yii a través de Composer):
|
||||||
|
|
||||||
|
```php
|
||||||
|
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
|
||||||
|
'cookieValidationKey' => 'enter your secret key here',
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Otras Opciones de Instalación <span id="other-installation-options"></span>
|
Otras Opciones de Instalación <span id="other-installation-options"></span>
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
Las instrucciones anteriores muestran cómo instalar Yii, lo que también crea una aplicación Web lista para ser usada.
|
Las instrucciones anteriores muestran cómo instalar Yii, lo que también crea una aplicación Web lista para ser usada.
|
||||||
Este es un buen punto de partida para pequeñas aplicaciones, o cuando apenas estás aprendiendo a utilizar Yii.
|
Este es un buen punto de partida para la mayoría de proyectos, tanto grandes como pequeños. Es especialmente adecuado si recién
|
||||||
|
estás aprendiendo a utilizar Yii.
|
||||||
|
|
||||||
Pero también hay otras opciones de instalación disponibles:
|
Pero también hay otras opciones de instalación disponibles:
|
||||||
|
|
||||||
@ -65,45 +96,61 @@ Pero también hay otras opciones de instalación disponibles:
|
|||||||
Verificando las Instalación <span id="verifying-installation"></span>
|
Verificando las Instalación <span id="verifying-installation"></span>
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
Después de la instalación, puedes acceder a la aplicación instalada a través de la siguiente URL:
|
Una vez finalizada la instalación, o bien configura tu servidor web (mira la sección siguiente) o utiliza
|
||||||
|
el [servidor web incluido en PHP](https://secure.php.net/manual/en/features.commandline.webserver.php) ejecutando el siguiente
|
||||||
|
comando de consola estando parado en el directorio `web` de la aplicación:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
http://localhost/basic/web/index.php
|
php yii serve
|
||||||
```
|
```
|
||||||
|
|
||||||
Esta URL da por hecho que Yii se instaló en un directorio llamado `basic`, directamente bajo el directorio del Servidor Web,
|
> Note: Por defecto el servidor HTTP escuchará en el puerto 8080. De cualquier modo, si el puerto está en uso o deseas
|
||||||
y que el Servidor Web está corriendo en tu máquina local (`localhost`). Sino, podrías necesitar ajustarlo de acuerdo a tu entorno de instalación.
|
servir varias aplicaciones de esta manera, podrías querer especificar qué puerto utilizar. Sólo agrega el argumento --port:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
php yii serve --port=8888
|
||||||
|
```
|
||||||
|
|
||||||
|
Puedes utilizar tu navegador para acceder a la aplicación instalada de Yii en la siguiente URL:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://localhost:8080/.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Deberías ver la página mostrando "Congratulations!" en tu navegador. Si no ocurriera, por favor chequea que la instalación
|
Deberías ver la página mostrando "Congratulations!" en tu navegador. Si no ocurriera, por favor chequea que la instalación
|
||||||
de PHP satisface los requerimientos de Yii. Esto puedes hacerlo usando cualquiera de los siguientes procedimientos:
|
de PHP satisfaga los requerimientos de Yii. Esto puedes hacerlo usando cualquiera de los siguientes procedimientos:
|
||||||
|
|
||||||
* Visitando la URL `http://localhost/basic/requirements.php` en tu navegador
|
* Copiando `/requirements.php` a `/web/requirements.php` y visitando la URL `http://localhost/basic/requirements.php` en tu navegador
|
||||||
* Corriendo los siguientes comandos:
|
* Corriendo los siguientes comandos:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
cd basic
|
cd basic
|
||||||
php requirements.php
|
php requirements.php
|
||||||
```
|
```
|
||||||
|
|
||||||
Deberías configurar tu instalación de PHP para que satisfaga los requisitos mínimos de Yii. Lo que es más importante, debes tener PHP 5.4 o mayor.
|
Deberías configurar tu instalación de PHP para que satisfaga los requisitos mínimos de Yii. Lo que es más importante,
|
||||||
También deberías instalar la [Extensión de PHP PDO](http://www.php.net/manual/es/pdo.installation.php) y el correspondiente driver de base de datos
|
debes tener PHP 5.4 o mayor. También deberías instalar la [Extensión de PHP PDO](http://www.php.net/manual/es/pdo.installation.php)
|
||||||
(como `pdo_mysql` para bases de datos MySQL), si tu aplicación lo necesitara.
|
y el correspondiente driver de base de datos (como `pdo_mysql` para bases de datos MySQL), si tu aplicación lo necesitara.
|
||||||
|
|
||||||
|
|
||||||
Configurando Servidores Web <span id="configuring-web-servers"></span>
|
Configurar Servidores Web <span id="configuring-web-servers"></span>
|
||||||
---------------------------
|
-------------------------
|
||||||
|
|
||||||
> Info: Puedes saltear esta sección por ahora si sólo estás probando Yii sin intención de poner la aplicación en un servidor de producción.
|
> Info: Puedes saltear esta sección por ahora si sólo estás probando Yii sin intención
|
||||||
|
de poner la aplicación en un servidor de producción.
|
||||||
|
|
||||||
La aplicación instalada debería estar lista para usar tanto con un [servidor HTTP Apache](http://httpd.apache.org/) como con un [servidor HTTP Nginx](http://nginx.org/),
|
La aplicación instalada siguiendo las instrucciones mencionadas debería estar lista para usar tanto
|
||||||
en Windows, Mac OS X, o Linux.
|
con un [servidor HTTP Apache](http://httpd.apache.org/) como con un [servidor HTTP Nginx](http://nginx.org/),
|
||||||
|
en Windows, Mac OS X, o Linux utilizando PHP 5.4 o mayor. Yii 2.0 también es compatible con [HHVM](http://hhvm.com/)
|
||||||
|
de Facebook. De todos modos, hay algunos casos donde HHVM se comporta diferente del
|
||||||
|
PHP oficial, por lo que tendrás que tener cuidados extra al utilizarlo.
|
||||||
|
|
||||||
En un servidor de producción, podrías querer configurar el servidor Web para que la aplicación sea accedida a través de la
|
En un servidor de producción, podrías querer configurar el servidor Web para que la aplicación sea accedida
|
||||||
URL `http://www.example.com/index.php` en vez de `http://www.example.com/basic/web/index.php`. Tal configuración
|
a través de la URL `http://www.example.com/index.php` en vez de `http://www.example.com/basic/web/index.php`. Tal configuración
|
||||||
require apuntar el document root de tu servidor Web al directorio `basic/web`. También podrías querer ocultar `index.php`
|
require apuntar el document root de tu servidor Web a la carpeta `basic/web`. También podrías
|
||||||
de la URL, como se describe en la sección [Parseo y Generación de URLs](runtime-url-handling.md).
|
querer ocultar `index.php` de la URL, como se describe en la sección [Parseo y Generación de URLs](runtime-url-handling.md).
|
||||||
En esta sub-sección, aprenderás a configurar tu servidor Apache o Nginx para alcanzar estos objetivos.
|
En esta sub-sección, aprenderás a configurar tu servidor Apache o Nginx para alcanzar estos objetivos.
|
||||||
|
|
||||||
> Info: Al definir `basic/web` como document root, también previenes que los usuarios finales accedan
|
> Info: Al definir `basic/web` como document root, también previenes que los usuarios finales accedan
|
||||||
@ -120,29 +167,29 @@ la sección [Entorno de Hosting Compartido](tutorial-shared-hosting.md) para má
|
|||||||
Utiliza la siguiente configuración del archivo `httpd.conf` de Apache dentro de la configuración del virtual host. Ten en cuenta
|
Utiliza la siguiente configuración del archivo `httpd.conf` de Apache dentro de la configuración del virtual host. Ten en cuenta
|
||||||
que deberás reemplazar `path/to/basic/web` con la ruta real a `basic/web`.
|
que deberás reemplazar `path/to/basic/web` con la ruta real a `basic/web`.
|
||||||
|
|
||||||
```
|
```apache
|
||||||
# Definir el document root de "basic/web"
|
# Definir el document root como "basic/web"
|
||||||
DocumentRoot "path/to/basic/web"
|
DocumentRoot "path/to/basic/web"
|
||||||
|
|
||||||
<Directory "path/to/basic/web">
|
<Directory "path/to/basic/web">
|
||||||
|
# utiliza mod_rewrite para soporte de URLs amigables
|
||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
|
# Si el directorio o archivo existe, utiliza la petición directamente
|
||||||
# Si el directorio o archivo existe, utiliza el request directamente
|
|
||||||
RewriteCond %{REQUEST_FILENAME} !-f
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
# Sino envía el request a index.php
|
# Sino, redirige la petición a index.php
|
||||||
RewriteRule . index.php
|
RewriteRule . index.php
|
||||||
|
|
||||||
# ...más configuraciones...
|
# ...otras configuraciones...
|
||||||
</Directory>
|
</Directory>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Configuración Recomendada de Nginx <span id="recommended-nginx-configuration"></span>
|
### Configuración Recomendada de Nginx <span id="recommended-nginx-configuration"></span>
|
||||||
|
|
||||||
Deberías haber instalado PHP como un [FPM SAPI](http://php.net/install.fpm) para utilizar [Nginx](http://wiki.nginx.org/).
|
Para utilizar [Nginx](http://wiki.nginx.org/), debes instalar PHP como un [FPM SAPI](http://php.net/install.fpm).
|
||||||
Utiliza la siguiente configuración de Nginx, reemplazando `path/to/basic/web` con la ruta real a `basic/web` y `mysite.local` con el
|
Utiliza la siguiente configuración de Nginx, reemplazando `path/to/basic/web` con la ruta real a
|
||||||
hostname real del servidor.
|
`basic/web` y `mysite.local` con el hostname real a servir.
|
||||||
|
|
||||||
```
|
```
|
||||||
server {
|
server {
|
||||||
@ -156,12 +203,12 @@ server {
|
|||||||
root /path/to/basic/web;
|
root /path/to/basic/web;
|
||||||
index index.php;
|
index index.php;
|
||||||
|
|
||||||
access_log /path/to/basic/log/access.log main;
|
access_log /path/to/basic/log/access.log;
|
||||||
error_log /path/to/basic/log/error.log;
|
error_log /path/to/basic/log/error.log;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
# Redireccionar a index.php todo lo que no sea un archivo real
|
# Redireccionar a index.php todo lo que no sea un archivo real
|
||||||
try_files $uri $uri/ /index.php?$args;
|
try_files $uri $uri/ /index.php$is_args$args;
|
||||||
}
|
}
|
||||||
|
|
||||||
# descomentar para evitar el procesamiento de llamadas de Yii a archivos estáticos no existente
|
# descomentar para evitar el procesamiento de llamadas de Yii a archivos estáticos no existente
|
||||||
@ -171,9 +218,11 @@ server {
|
|||||||
#error_page 404 /404.html;
|
#error_page 404 /404.html;
|
||||||
|
|
||||||
location ~ \.php$ {
|
location ~ \.php$ {
|
||||||
include fastcgi.conf;
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
fastcgi_pass 127.0.0.1:9000;
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
#fastcgi_pass unix:/var/run/php5-fpm.sock;
|
#fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||||
|
try_files $uri =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ /\.(ht|svn|git) {
|
location ~ /\.(ht|svn|git) {
|
||||||
|
Reference in New Issue
Block a user