2009-12-06 17 views
23

"¡instalar Zend Framework es tan fácil!" Sí, claro ...Cómo instalar Zend Framework en Windows

Ok, estoy trabajando con un libro para principiantes y lo ÚNICO que no está excesivamente detallado es la parte más importante: Instalar lo maldito. Después de navegar por la guía de inicio rápido durante horas, todo lo que dijo fue:

"download Zend [...] agregue el directorio de inclusión (bla bla) y USTED ESTÁ HECHO!"

bien, he terminado de usar Zend.

Ok, realmente no, todavía no de todos modos. Les pido mucha gente, quiero irme a la cama, por favor díganme cómo (en un simple detalle de sexto grado) para instalar el marco. Tengo la carpeta descomprimida en mi directorio htdocs y puse zf.bat + zf.php en la raíz de htdocs.

¿Qué sigue?

muchas gracias.

+0

Me alegra que haya encontrado una solución que funcione para usted. ¡Diviértete con PHP! –

+1

Me gustaría agregar que una vez que configure su variable de entorno para incluir php.exe, zf.bat y la biblioteca ZF, deberá reiniciar el símbolo del sistema para que las rutas surtan efecto. Parece que una vez que hace clic en "Aceptar", los cambios en las rutas se emiten a través de Windows, pero tendrá que reiniciar su aplicación para que tenga efecto en esa aplicación. – musicliftsme

Respuesta

18

Parece que tiene problemas con PATH en el shell de comandos de Windows. Esto es independiente de Zend Framework. Comprender el concepto PATH en un entorno de shell es un obstáculo que muchos programadores deben superar, pero una vez que lo obtiene, puede usarlo para aumentar su productividad.

Siempre puede ejecutar un programa desde el shell de comandos utilizando la ruta absoluta de de ese programa. Por ejemplo:

C:\> c:\wamp\bin\php\php.exe 

También puede ejecutar un comando con una ruta relativa. Es decir, ingresa la ruta desde su directorio de trabajo actual hasta la ubicación del programa que desea ejecutar.

C:\> cd c:\wamp 
C:\> bin\php\php.exe 

Pero si ejecuta un comando en el intérprete de comandos sin nombrar la ruta completa al ejecutable, la cáscara trata de encontrar el programa ejecutable en uno de los directorios listados en la variable de entorno PATH. Es decir, la ruta es una cadena con nombres de directorio separados por punto y coma. Para ejecutar un ejecutable, el shell intenta cada directorio en esa lista, en orden, como si tuviera

C:\> type %PATH% 
C:\WINDOWS\;C:\WINDOWS\SYSTEM32 
C:\> php.exe 
...error that it cannot find php.exe... 

Caso especial: correr php.exe también funciona si el directorio de trabajo actual pasa a ser la ubicación de ese programa ejecutable. Pero eso es solo un ejemplo del uso de una ruta relativa, usando una ruta con cero niveles de directorio.

El segundo problema es que está ejecutando zf.bat que es una secuencia de comandos que a su vez invoca php.exe sin especificar una ruta. Supone que ha agregado la ubicación de php.exe a su variable de entorno PATH.

C:\> SET PATH=%PATH%;C:\wamp\bin\php 
C:\> php.exe -v 
PHP 5.3.1 (cli) (built: Nov 29 2009 13:59:20) 
Copyright (c) 1997-2009 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies 

El guión zf.bat en sí también tiene que ser encontrado. Puede hacer esto agregando el directorio donde reside a su PATH. Suponiendo que ha instalado Zend Framework bajo C:\zf, por ejemplo:

C:\> type %PATH% 
C:\WINDOWS\;C:\WINDOWS\SYSTEM32;C:\wamp\bin\php 
C:\> zf.bat 
...error that it cannot find zf.bat... 
C:\> SET PATH=%PATH%;C:\zf\bin 
C:\> zf.bat show version 
Zend Framework Version: 1.10.0dev 

También recomiendo que instale Zend Framework fuera su directorio htdocs. Solo hay un archivo PHP que necesita en su htdocs: ese es el único archivo de arranque que Zend Framework usa para instanciar el controlador frontal y enviar la solicitud.

Cuando utiliza zf.bat para generar una aplicación de esqueleto para usted, crea un directorio public con un script PHP index.php dentro de ese directorio. Este archivo index.php es el que necesita para estar en su directorio htdocs. También necesita activos como CSS, Javascript e imágenes para estar bajo su htdocs. El resto del código de la aplicación, y todo el Zend Framework en sí, debe ser fuera de su htdocs. Especialmente cualquier archivo de configuración donde almacene datos confidenciales, como la contraseña de su base de datos, etc.

Puede editar el archivo index.php. Puede definir una constante de PHP APPLICATION_PATH, que es la ubicación del resto de su código de aplicación.

<?php 

defined("APPLICATION_PATH") 
    || define("APPLICATION_PATH", realpath(dirname(__FILE__) . "/../application" 
)); 

Esa definición por defecto para APPLICATION_PATH asume que su htdocs es un directorio hermana para el resto de su código de aplicación generado por la herramienta zf.bat. Sin duda, puede colocar el código de su aplicación en otro lugar, pero debe cambiar el código anterior para que lo encuentre el script index.php.

También el script index.php puede agregar la ubicación del código de la biblioteca a PHP INCLUDE_PATH. Esto es útil si necesita hacer que la biblioteca Zend Framework pueda ser encontrada, o si usa otro código PHP de terceros en su aplicación. Asumiendo que instaló Zend Framework bajo C:\zf, debe agregar su subdirectorio library a su PHP INCLUDE_PATH.

// Ensure library/ is on include_path 
set_include_path(implode(PATH_SEPARATOR, array(
    "C:/zf/library", 
    realpath(APPLICATION_PATH . "/../library"), 
    get_include_path() 
))); 

Las plantillas de código generados por el script zf.bat tratan de hacer conjeturas defecto sensata acerca de dónde se encuentra su código, pero su entorno es su propia, y es fácil de editar estas secuencias de comandos para especificar la verdadera ubicación donde se ha instalado su código y bibliotecas.

2

El marco no tiene que estar en la carpeta htdocs, puede estar en cualquier lugar. Una vez que lo descomprimió en algún lugar, está 50% hecho.

El siguiente paso es localizar su archivo php.ini (por ejemplo, cree un archivo <?php phpinfo();?> en su carpeta htdocs, ejecútelo y busque "Configuración (php.ini) filepath" (o similar) en el primer bloque. . FICHA añadir la ruta al ZendFramework a la directiva include_dir esto tiene que incluir la carpeta library la configuración podría tener este aspecto:..

include_dir = .;c:\php\ZendFramework\library 

a menudo también incluye la ruta de acceso a PERA

a continuación, reinicie su servidor.

Usted ha terminado.

+0

bien, cuando escribo c: \ htdocs \ zf.bat creo el proyecto quickstart en cmd, me notifica que "php.exe" no existe. ¿¿Lo que da?? – Gal

+0

Los archivos php.ini no se ejecutan, solo se ven porque son un archivo de texto simple. – markus

+0

@Gal ya que parece estar en Windows, agregue PHP a sus variables de entorno para hacer uso de la CLI de PHP: http://www.rasyid.net/2008/05/11/setting-path-for-php-cli/ – chelmertz

2
  1. Zend! = Zend Framework
  2. Zend Framework no necesita ser instalado. Es meramente una biblioteca, solo necesita ser colocada en alguna parte.
  3. Como johannes dice que necesita decirle a php dónde buscar la biblioteca para que pueda agregar la carpeta donde se encuentra la biblioteca de Zend Framework a su ruta include php.

Eso es todo, no hay más!

Ahora parece que su problema real no tiene nada que ver con Zend Framework como tal. Está intentando usar Zend_Tool, pero la herramienta de línea de comandos zf.bat no está en la ruta del sistema, por lo que no puede usar el comando 'zf'. Zend Framework funciona bien sin la herramienta, si desea utilizarlo de todos modos, invoque el comando, cuando se encuentre en la carpeta donde reside zf.bat o agregue la ruta de acceso a zf.bat a la ruta del sistema.

Esto significa de una manera no vaga:

if (path-to-zf.bat isOn SYSTEM_PATH) 
{ 
    you can call 'zf' from anywhere; 
} 
else 
{ 
    you must be in the folder where zf.bat also is, if you want to call 'zf'; 
} 
+1

gracias, pero los programadores siempre dan respuestas tan vagas ... Quiero decir, "invocar el comando, cuando se encuentra en la carpeta donde reside zf.bat o agregar la ruta de acceso a zf.bat a la ruta del sistema". - por favor, ¿no puedes decir que soy un completo novato? – Gal

+0

además, todavía me dice que el archivo "php.exe" no existe, y cuando miro en zf.bat veo que contiene "asumir que php.exe es ejecutable" – Gal

+3

si eres un novato completo, te aconsejaría no molestarse con la herramienta. – markus

0

Gal - tuve el mismo problema. Debemos estar trabajando en el mismo libro este fin de semana.

Resolví el problema de creación de proyectos cuando descubrí que en la ventana del terminal, primero debe navegar al directorio de inicio de PHP que creó.

Así, en otras palabras, si se encuentra en la carpeta PHP5, tipo "ZF crear el proyecto c:/Apache/htdocs/projectname"

que tenían el mismo problema re: falta archivo php.exe hasta que me di cuenta de esto fuera.

-

Esa es la buena noticia. La mala noticia es que vas a tener problemas similares cuando intentes configurar Controladores y Acciones, y mi solución no funcionará para esto. Todavía no me he dado cuenta de esto, así que volveré a publicar con más información y tal vez los demás puedan ayudar.

+1

gracias, lo investigaré. Dios mío, a veces me da ganas de ganarles "¡es tan fácil!" chicos en la cabeza con un martillo de goma inflable! – Gal

+0

Instalé PHP en c: \ php y estaba allí. – Gal

+0

a la derecha, era php-dist.ini, intente copiarlo/pegarlo y cambiar el nombre de php-dist.ini a php.ini que funcionó para mí – Gal

0

Más fácil de leer si lo tipeo aquí.

Aquí está un paso a paso-:

  • abierta ventana de terminal
  • escriba cd c: \
  • escriba cd php
  • tipo ZF crear el proyecto c:/APACHE/htdocs/PROJECTNAME

Sustituya los nombres de su directorio y proyecto donde utilicé todas las mayúsculas.

Eso debería funcionar. Tenga en cuenta que debe navegar al directorio de inicio de PHP porque aquí es donde se encuentra el archivo php.exe, y aquí es donde se encuentran los archivos zf.bat y zf.php. Aparentemente, ambos son necesarios cuando se usa Zend_Tool.

0

No dice qué pila de web está utilizando, pero la forma más sencilla que he encontrado para trabajar con Zend en Windows es instalar Zend Core. Esto instala una pila completa preconfigurada con Zend Framework.

0

Gal, no entiendo lo que quieres hacer.

No hay instalación o configuración para el marco. Sólo tienes que

  1. Desempaquetar el marco en cualquier lugar
  2. Crear un proyecto que se ejecuta ZF crear "miproyecto"
  3. Crear un shourtcut/eslabón de /library => root folder of the framework. También puede simplemente descomprimir todo el marco en esta carpeta (/ biblioteca), pero si tiene muchos proyectos, terminará con muchas copias del marco utilizando el espacio de disco.
  4. cambie la configuración de Apache para abrir /myproject/public/index.php cuando redirija el navegador web a su sitio.

Quiero decir, esto no tiene nada que ver con zf, si creas un sitio en tu computadora, tienes que decirle a Apache dónde está.

Siempre puede ejecutar zf.bat escribiendo la ruta completa. Si zf.bat devuelve un error, entonces es muy probable que tenga problemas con la instalación de php.

Sólo en caso de que sea útil, esta es mi configuración de Apache (httpd.conf) para un proyecto zf_cms nombrados

<VirtualHost *:80> 
ServerAdmin [email protected] 
DocumentRoot "C:\Users\alex\Documents\My Web Sites\zf_cms/public" 
ServerName zf_cms.conexion 

<Directory "C:\Users\alex\Documents\My Web Sites\zf_cms/public"> 
    #DirectoryIndex index.php 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

entonces usted tiene que añadir esta línea en% windir% \ system32 \ drivers \ etc \ hosts

127.0.0.1  zf_cms.conexion 
+0

Y una explicación para nosotros, mortales? –

1

derivados de http://normankosmal.com/wordpress/?p=47:

****> ****Process of install zend framework in window 
> 1) Download zend framework 
> 2)After installing xampp extract the 
> Zend Framework files into a folder of 
> your choice. Next step is to edit the 
> php.ini. Usually this file can be 
> found in the php folder in your xampp 
> installation. Find the line that says 
> include_path and edit the line like 
> this: 
>  Windows: “\path1;\path2″ 
>  include_path = “.;D:\Informatik\SERVER\xampp\php\pear\;D:\Informatik\SERVER\xampp\php\ZendFramework\library” 
>  3) 
>  did you add your php interpreter to %PATH%? 
>  In which file i have to add the PHP interpreter? 
>  You mean i need to edit zf.bat file 
>  SET ZF_SCRIPT=%PHP_DIR%\zf.php 
>  Here in place of %PHP_DIR% i need to add the path of my PHP directory? 
>  Can you plzz help me out. 
>  4) D:\Informatik\SERVER\xampp\htdocs>D:\Informatik\SERVER\xampp\php\ZendFramework\b 
>  in\zf.bat create project testproject********