Подтвердить что ты не робот

Как установить Zend Framework в Windows

"установка Zend Framework настолько проста!!!!" да, правильно...

Хорошо, я работаю с книгой-новичком, и ОДНА вещь, которая не является чрезмерно подробной, является самой важной частью: Установка чертовой вещи. После просмотра руководства по быстрому старту в течение нескольких часов все, что он сказал, было:

"скачать Zend [...] добавить каталог include (bla bla), и вы сделали!"

правильно, я закончил с помощью Zend.

Хорошо, не совсем, пока нет. Я прошу вас, я хочу лечь спать, пожалуйста, расскажите мне, как (в простых деталях 6-го класса) установить рамки. У меня есть распакованная папка в моем каталоге htdocs, и я поместил zf.bat + zf.php в корень htdocs.

Что дальше?

Большое вам спасибо.

4b9b3361

Ответ 1

Кажется, что у вас возникли проблемы с PATH в командной оболочке Windows. Это не зависит от Zend Framework. Понимание концепции PATH в среде оболочки - это препятствие, которое многие программисты должны преодолеть, но как только вы его получите, вы можете использовать его для повышения производительности.

Вы всегда можете запустить программу из командной оболочки, используя эту программу абсолютный путь. Например:

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

Вы также можете запустить команду, используя относительный путь. То есть вы вводите путь из текущего рабочего каталога в место, где вы хотите запустить программу.

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

Но если вы запустите команду в командной оболочке без наименования полного пути к исполняемому файлу, оболочка попытается найти исполняемый файл программы в одном из каталогов, перечисленных в вашей переменной среды PATH. То есть путь представляет собой строку с именами каталогов, разделенными точкой с запятой. Чтобы запустить исполняемый файл, оболочка пробует каждую директорию в этом списке, чтобы, как если бы вы имели

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

Особый случай: запуск php.exe также работает, если ваш текущий рабочий каталог является местоположением исполняемой программы. Но это всего лишь пример использования относительного пути, используя путь с нулевыми уровнями каталогов.

Вторая проблема заключается в том, что вы запускаете zf.bat, который является script, который, в свою очередь, вызывает php.exe без указания пути. Предполагается, что вы добавили местоположение php.exe в переменную среды 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

Также необходимо найти zf.bat script. Вы можете сделать это, добавив каталог, в котором он находится, на ваш PATH. Предполагая, что вы установили Zend Framework под C:\zf, например:

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

Я также рекомендую вам установить Zend Framework вне вашего каталога htdocs. Для вашего htdocs нужен только один PHP файл: это единственный файл начальной загрузки, который Zend Framework использует для создания экземпляра Front Controller и отправки запроса.

Когда вы используете zf.bat для создания скелетного приложения для вас, он создает каталог public с PHP скрипт index.php внутри этого каталога. Этот файл index.php - тот, который вам нужен, в вашем каталоге htdocs. Вам также нужны такие активы, как CSS, Javascript и изображения, которые будут находиться под вашим htdocs. Остальная часть вашего кода приложения и всей Zend Framework должна быть вне вашего htdocs. Особенно любые файлы конфигурации, в которых хранятся конфиденциальные данные, такие как пароль базы данных и т.д.

Вы можете отредактировать файл index.php. Он может определять константу PHP APPLICATION_PATH, которая является местоположением остальной части вашего кода приложения.

<?php

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

В этом определении по умолчанию для APPLICATION_PATH предполагается, что ваш htdocs является сестринским каталогом для остальной части вашего кода приложения, сгенерированного инструментом zf.bat. Вы можете, конечно, поместить свой код приложения в другое место, но вы должны изменить вышеуказанный код так, чтобы он нашел index.php script.

Также index.php script может добавить расположение кода библиотеки в PHP INCLUDE_PATH. Это полезно, если вам необходимо найти библиотеку Zend Framework или использовать другой сторонний PHP-код в своем приложении. Предполагая, что вы установили Zend Framework под C:\zf, вы должны добавить подкаталог library к вашему 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()
)));

Шаблоны кода, сгенерированные zf.bat script, стараются сделать разумные предположения о том, где находится ваш код, но ваша среда является вашей собственной, и легко редактировать эти сценарии, чтобы указать истинное место, где вы установили ваш код и библиотеки.

Ответ 2

Фреймворк не обязательно должен находиться в папке htdocs, он может быть где угодно. Как только вы распакуете его где-то, вы сделаете 50%.

Следующий шаг - найти файл php.ini(например, создать файл <?php phpinfo();?> в вашей папке htdocs выполнить его и искать "путь к файлу конфигурации (php.ini)" (или аналогичный) в первом блоке. этот файл добавляет путь к ZendFramework в директиву include_dir. Это должно включать папку library. Ваша настройка может выглядеть так:

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

Часто он также включает путь к PEAR.

Затем перезагрузите сервер.

Вы закончили.

Ответ 3

  • Zend!= Zend Framework
  • Zend Framework не требуется устанавливать. Это просто библиотека, ее просто нужно разместить где-то.
  • Как говорит Джоаннес, вам нужно рассказать php, где искать библиотеку, чтобы вы добавили папку, в которой находится библиотека Zend Framework, в ваш путь включения php.

Что это, больше ничего!

Теперь кажется, что ваша реальная проблема не имеет ничего общего с Zend Framework как таковой. Вы пытаетесь использовать Zend_Tool, но инструмент командной строки zf.bat не находится на вашем системном пути, поэтому вы не можете использовать команду "zf". Zend Framework отлично работает без инструмента, если вы хотите его использовать, вызовите команду, когда вы находитесь в папке, где находится zf.bat, или добавьте путь к zf.bat на ваш системный путь.

Это означает неясным образом:

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';
}

Ответ 4

Получено из 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********

Ответ 5

Gal - У меня была та же проблема. Мы должны работать над той же книгой в эти выходные.

Я решил проблему создания проекта, когда понял, что в окне терминала вам нужно сначала перейти к домашнему каталогу PHP, который вы создали.

Итак, если вы находитесь в папке PHP5, введите "zf create project c:/Apache/htdocs/projectname"

У меня была такая же проблема: отсутствующий файл php.exe, пока я не понял это.

-

Это хорошие новости. Плохая новость заключается в том, что у вас будут подобные проблемы при попытке настроить контроллеры и действия, и мое исправление не будет работать для этого. Я до сих пор не понял этого, поэтому я отправлю сообщение с дополнительной информацией, и, возможно, другие могут помочь.

Ответ 6

Легче читать, если я наберу его здесь.

Здесь шаг за шагом:

  • открыть окно терминала
  • Тип cd c:\
  • тип cd php
  • тип zf создать проект c:/APACHE/htdocs/PROJECTNAME

Замените свой каталог и названия проектов, где я использовал все кепки.

Это должно сработать. Обратите внимание, что вам нужно было перейти к домашнему каталогу PHP, потому что здесь находится файл php.exe, и именно там находятся файлы zf.bat и zf.php. По-видимому, оба они необходимы при использовании Zend_Tool.

Ответ 7

Вы не говорите, какой веб-стек вы используете, но самый простой способ, который я нашел для работы с Zend в Windows, - установить Zend Core. Это устанавливает полный стек, предварительно настроенный с помощью Zend Framework.

Ответ 8

Gal, я не понимаю, что вы хотите сделать.

В инфраструктуре нет установки или конфигурации. Вам просто нужно

  • Распакуйте инфраструктуру где-нибудь
  • Создать проект под управлением zf create "myproject"
  • Создайте shourtcut/link в /library => root folder of the framework. Вы также можете просто распаковать всю структуру в этой папке (/library), но если у вас много проектов, вы закончите с множеством копий фреймворка с помощью дискового пространства.
  • измените конфигурацию apache для открытия /myproject/public/index.php при перенаправлении веб-браузера на ваш сайт.

Я имею в виду, что это не имеет ничего общего с zf, если вы создаете сайт на своем компьютере, вы должны сказать Apache, где он.

Вы всегда можете запустить zf.bat, записывая весь путь. Если zf.bat возвращает un error, то, скорее всего, у вас проблемы с установкой php.

На всякий случай это полезно, это моя конфигурация apache (httpd.conf) для проекта с именем zf_cms

<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>

Затем вам нужно добавить эту строку в папку% windir%\system32\drivers\etc\hosts

127.0.0.1     zf_cms.conexion