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

[ -t <&0 ] || exec >> test.log
24
задан Gal 29 August 2011 в 14:32
поделиться

8 ответов

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

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

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 , который представляет собой сценарий, который, в свою очередь, вызывает 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 тоже нужно найти. Вы можете сделать это, добавив каталог, в котором он находится, в ваш 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 находит его.

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

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

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

или если вы используете в своем приложении сторонний PHP-код. Предполагая, что вы установили Zend Framework в C: \ zf , вам следует добавить подкаталог библиотеки в свой 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 сценарий пытается сделать разумные предположения по умолчанию о том, где находится ваш код, но ваша среда является вашей собственной, и эти сценарии легко редактировать, чтобы указать истинное место, где вы установили свой код и библиотеки.

или если вы используете в своем приложении сторонний PHP-код. Предполагая, что вы установили Zend Framework в C: \ zf , вам следует добавить подкаталог библиотеки в свой 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 скрипт пытается сделать разумные предположения по умолчанию о том, где находится ваш код, но ваша среда является вашей собственной, и эти скрипты легко отредактировать, чтобы указать истинное место, где вы установили свой код и библиотеки.

19
ответ дан 29 November 2019 в 00:15
поделиться
  1. Zend! = Zend Framework
  2. Zend Framework устанавливать не нужно. Это просто библиотека, ее просто нужно где-то разместить.
  3. Как говорит Йоханнес, вам нужно указать 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';
}
2
ответ дан 29 November 2019 в 00:15
поделиться

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

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

Так и в другом слова, если вы находитесь в папке PHP5, введите «zf create project c: / Apache / htdocs / projectname»

У меня была такая же проблема с re: missing php.exe, пока я не понял это.

-

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

0
ответ дан 29 November 2019 в 00:15
поделиться

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

0
ответ дан 29 November 2019 в 00:15
поделиться

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

Вот пошаговое описание:

  • открыть окно терминала
  • введите cd c: \
  • введите cd php
  • введите zf create project c: / APACHE / htdocs / PROJECTNAME

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

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

0
ответ дан 29 November 2019 в 00:15
поделиться

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

Следующим шагом будет поиск файла php.ini (например, создание файла в папке htdocs выполните его и найдите «Путь к файлу конфигурации (php.ini)» (или аналогичный) в первом блоке. В этом файле добавьте путь к ZendFramework в директиву include_dir . Он должен включать ] библиотека . Ваш параметр может выглядеть так:

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

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

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

Готово.

2
ответ дан 29 November 2019 в 00:15
поделиться

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

Для фреймворка нет установки или настройки. Вам просто нужно

  1. Распаковать фреймворк где угодно
  2. Создать проект с запуском zf create "myproject"
  3. Создать ярлык / ссылку в / library => корневой папке фреймворка . Вы также можете просто распаковать весь фреймворк в эту папку (/ library), но если у вас много проектов, у вас будет много копий фреймворка, использующего дисковое пространство.
  4. изменить конфигурацию apache для открытия /myproject/public/index.php при перенаправлении веб-браузера на ваш сайт.

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

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

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

<VirtualHost *:80>
ServerAdmin alex@conexion-seo.com.mx
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
0
ответ дан 29 November 2019 в 00:15
поделиться

На основе 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********
1
ответ дан 29 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: