“安装Zend Framework非常简单!!!!”是的,是的......
好的我正在使用一本初学者的书,而且一件不太详细的东西是最重要的部分:安装这个小东西。浏览快速入门指南数小时后,它说:
“下载Zend [...]添加include目录(bla bla),你完成了!”
对,我已经完成了使用Zend。
好吧,不是真的,不管怎样。我请求你们,我想上床睡觉,请告诉我如何(简单的6年级细节)安装框架。我在htdocs目录中有解压缩文件夹,并将zf.bat + zf.php放在htdocs根目录中。
下一步是什么?
非常感谢你。
答案 0 :(得分:19)
您似乎遇到了Windows命令shell中PATH
的问题。这与Zend Framework无关。了解shell环境中的PATH
概念是许多程序员必须克服的障碍,但是一旦获得它,就可以使用它来提高生产力。
您始终可以使用该程序的绝对路径从命令shell运行程序。例如:
C:\> c:\wamp\bin\php\php.exe
您还可以使用相对路径运行命令。也就是说,您输入从当前工作目录到要运行的程序的位置的路径。
C:\> cd c:\wamp
C:\> bin\php\php.exe
但是如果你在命令shell 中运行命令,而没有命名可执行文件的完整路径,那么shell会尝试在PATH
中列出的某个目录中找到程序可执行文件环境变量。也就是说,路径是一个字符串,其目录名称以分号分隔。要运行可执行文件,shell会按顺序尝试该列表中的每个目录,就像您有
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
来执行此操作。假设您在C:\zf
下安装了Zend Framework,例如:
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
我还建议您在htdocs
目录中安装Zend Framework 。在htdocs
下只需要一个PHP文件:这是Zend Framework用于实例化Front Controller并发送请求的单个引导程序文件。
当您使用zf.bat
为您生成框架应用程序时,它会在该目录中创建一个带有PHP脚本public
的目录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代码,这将非常有用。假设您在C:\zf
下安装了Zend Framework,您应该将其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
脚本生成的代码模板尝试对代码所在位置进行合理的默认猜测,但您的环境是您自己的环境,并且可以轻松编辑这些脚本以指定安装位置的真实位置你的代码和库。
答案 1 :(得分:2)
框架不必在htdocs文件夹中,它可以在任何地方。一旦你将它解压缩到某个地方就完成了50%。
下一步是找到你的php.ini文件(例如在htdocs文件夹中创建一个文件<?php phpinfo();?>
执行它并在第一个块中查找“Configuration(php.ini)filepath”(或类似)在该文件中,将ZendFramework的路径添加到include_dir
指令。这必须包含library
文件夹。您的设置可能如下所示:
include_dir = .;c:\php\ZendFramework\library
通常它还包括PEAR的路径。
然后重新启动服务器。
你已经完成了。
答案 2 :(得分:2)
就是这样,没有更多了!
现在看来你的真正问题与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';
}
答案 3 :(得分:1)
派生自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********
答案 4 :(得分:0)
当我发现终端窗口中你需要先导航到你创建的PHP主目录时,我解决了项目创建问题。
所以换句话说,如果你在PHP5文件夹中,输入“zf create project c:/ Apache / htdocs / projectname”
我有同样的问题:错过了php.exe文件,直到我想出来。
-
这是个好消息。坏消息是,当您尝试设置控制器和操作时,您将遇到类似的问题,并且我的修复程序不适用于此。我仍然没有想到这一点,所以我会再次发布更多信息,也许其他人可以提供帮助。
答案 5 :(得分:0)
如果我在此输入,则更容易阅读。
以下是一步一步:
替换我使用全部大写字母的目录和项目名称。
那应该有用。请注意,您必须导航到PHP主目录,因为这是php.exe文件所在的位置,这是zf.bat和zf.php文件所在的位置。显然,使用Zend_Tool时都需要这两个。
答案 6 :(得分:0)
您没有说明您使用的是哪种网络堆栈,但我发现在Windows上使用Zend的最简单方法是安装Zend Core。这将安装一个预先配置了Zend Framework的完整堆栈。
答案 7 :(得分:0)
框架没有安装或配置。 你只需要
/library => root folder of the framework
中创建一个shourtcut / link。您也可以将整个框架解压缩到此文件夹(/ 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