«Установка Zend Framework настолько проста !!!!» да правильно…
Хорошо, я работаю с книгой новичка, и одна вещь, которая не является чрезмерно подробной, – это самая важная часть: установка чертовой вещи. После просмотра руководства по быстрому старту в течение нескольких часов все, что он сказал, было:
"скачать Zend […] добавить каталог include (bla bla), и ВЫ СДЕЛАЛИ!"
Я сделал это с помощью Zend.
Хорошо, на самом деле, пока нет. Я прошу вас, я хочу лечь спать, пожалуйста, расскажите мне, как (в простых деталях 6-го класса) установить рамки. У меня есть распакованная папка в моем каталоге htdocs, и я поместил zf.bat + zf.php в корень htdocs.
Что дальше?
Спасибо большое.
Кажется, что у вас возникают проблемы с PATH
в командной оболочке Windows. Это не зависит от Zend Framework. Понимание концепции PATH
в среде оболочки является препятствием, которое многие программисты должны преодолеть, но как только вы его получите, вы можете использовать его для повышения производительности.
Вы всегда можете запустить программу из командной оболочки, используя абсолютный путь этой программы. Например:
C:\> c:\wamp\bin\php\php.exe
Вы также можете запустить команду, используя относительный путь . То есть вы вводите путь из текущего рабочего каталога в место, где вы хотите запустить программу.
C:\> cd c:\wamp C:\> bin\php\php.exe
Но если вы запустите команду в командной оболочке без указания полного пути к исполняемому файлу, оболочка попытается найти исполняемый файл программы в одном из каталогов, перечисленных в PATH
среды 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
среды 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
может добавить расположение кода библиотеки в INCLUDE_PATH
PHP. Это полезно, если вам необходимо найти библиотеку 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
стараются сделать разумные предположения о том, где находится ваш код, но ваша среда является вашей собственной, и легко редактировать эти сценарии, чтобы указать истинное место, где вы установили свой код и библиотеки.
Структура не обязательно должна находиться в папке htdocs, она может быть где угодно. Как только вы распакуете его где-то, вы сделаете 50%.
Следующий шаг – найти файл php.ini (например, создать файл <?php phpinfo();?>
В вашей папке htdocs выполнить его и искать «путь к файлу конфигурации (php.ini)» (или аналогичный) в первом В этом файле добавьте путь к ZendFramework в директиву include_dir
должно содержать папку library
. Ваша настройка может выглядеть так:
include_dir = .;c:\php\ZendFramework\library
Часто он также включает путь к PEAR.
Затем перезагрузите сервер.
Вы сделали.
Вот и все , больше ничего!
Теперь кажется, что ваша реальная проблема не имеет ничего общего с 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'; }
Выведено из 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********
Гал. У меня была такая же проблема. Мы должны работать над той же книгой в эти выходные.
Я решил проблему создания проекта, когда понял, что в окне терминала вам нужно сначала перейти к домашнему каталогу PHP, который вы создали.
Итак, если вы находитесь в папке PHP5, введите «zf create project c: / Apache / htdocs / projectname»
У меня была такая же проблема: отсутствует файл php.exe, пока я не понял это.
–
Это хорошие новости. Плохая новость заключается в том, что у вас будут подобные проблемы при попытке настроить контроллеры и действия, и мое исправление не будет работать для этого. Я до сих пор не понял этого, поэтому я отправлю сообщение с дополнительной информацией, и, возможно, другие могут помочь.
Легче читать, если я напечатаю его здесь.
Вот шаг за шагом:
Замените свой каталог и названия проектов, где я использовал все кепки.
Это должно сработать. Обратите внимание, что вам нужно было перейти к домашнему каталогу PHP, потому что здесь находится файл php.exe, и именно там находятся файлы zf.bat и zf.php. По-видимому, оба они необходимы при использовании Zend_Tool.
Вы не говорите, какой веб-стек вы используете, но самым простым способом, который я нашел для работы с Zend в Windows, является установка Zend Core . Это устанавливает полный стек, предварительно настроенный с помощью Zend Framework.
Гал, я не понимаю, что ты хочешь делать.
Установки и конфигурации не существует. Вам просто нужно
/library => root folder of the framework
. Вы также можете просто распаковать всю структуру в этой папке (/ library), но если у вас много проектов, вы закончите с множеством копий фреймворка с помощью дискового пространства. Я имею в виду, что это не имеет ничего общего с zf, если вы создаете сайт на своем компьютере, вы должны сказать Apache, где он.
Вы всегда можете запустить zf.bat, записывая весь путь. Если zf.bat возвращает un error, то, скорее всего, у вас проблемы с установкой 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