2011-06-16 144 views
1

刚开始使用Zend Framework Zf Tool时,我已经遇到了一个我花费数小时试图解决的问题。Zf Tool找不到Zend Framework

由于某些原因,当我运行Zf show version命令时,我得到一个ZF ERROR,指出它找不到Zend Framework,将它添加到我的php.ini include_directory中。

这是我的设置。我目前在我的本地机器上安装了WAMP。

C:\ WAMP

我复制了zf.bat和zf.php文件到服务器,PHP目录。 php目录的路径已被添加到路径环境变量中。我非常确定它的工作原理,因为我在控制台中运行了zf show version命令并获得了ZF ERROR。

我把我的Zend Framework副本内

C:\ WAMP \包括

所以我说这在php.ini的include_path。 include_path =“。; c:\ wamp \ includes”

我通过检查phpinfo()函数检查了这个设置是否设置正确。其中显示了包含路径。; c:\ wamp \ includes。; c:\ wamp \包含

因此,我认为我已将所有设置正确。我无法弄清楚我错过了什么。

我也尝试设置ZEND_TOOL_INCLUDE_PATH没有成功。

任何帮助,将不胜感激。 PS我没有检查其他帖子在这里,但没有任何建议

回答

2

我已经完成了!最后。我有我的本地wamp设置的方式有2个php.ini文件,我必须编辑。

使不同的是Apache2目录内的php.ini。

感谢大家的帮助。我很感激。

+0

在C:\ wamp \ bin \ php \ php5.3.5和C:\ wamp \ bin \ apache \ Apache2.2.17 \ bin中 – Tjorriemorrie 2012-07-30 14:36:23

0

那么我不知道你是如何下载安装的框架,但我的猜测是,你没有足够的基于Zend发布软件包的方式包括路径。包含在Zend Framework安装的Zend文件夹需要它的父文件夹是包括路径所以通常你会加入类似:

c:\wamp\includes\ZF_BASE_DIR\library

这是因为ZF封装结构是这样的:

ZendFramework-VERSION/ 
    README.txt 
    INSTALL.txt 
    LICENSE.txt 
    bin/ 
    library/ 
+0

感谢您的回复。我其实已经设定好了。我已将库内的Zend文件夹复制到c:\ wamp \ includes \文件夹中,这就是为什么我觉得它很奇怪,它不会工作? – hooligan 2011-06-17 09:37:45

+0

嗯看着你的文章再次看起来像你的包含路径缺少路径分隔符(;)'。; c:\ wamp \ includes。; c:\ wamp \ includes'由php报告应该是'。; c: \ wamp \ includes;。; c:\ wamp \ includes'因此无法添加分隔符。即使这是正确的,你已经添加了两次相同的包含路径,但暂时不应该有太大影响。 – prodigitalson 2011-06-17 18:55:51

0

如果从存档提取ZF你会得到一个Zend-some_version文件夹,但实际ZF是 “包含路径\ Zend的-some_version \库\ Zend的”,所以你的include路径应指向include_path\Zend-some_version\library\

+0

感谢您的回复,这是非常奇怪的事情,因为我将库内部的Zend文件夹复制到include_path目录中。这就是为什么我觉得它奇怪它不起作用。 – hooligan 2011-06-17 09:39:21

0

我想补充一下Tjorriemorrie说,详细我如何得到我的Win 7的安装一样简单工作,尽可能地解释:

  1. 从“http://framework.zend.com/downloads/latest”下载您喜欢的Zend包“C :\ wamp \ www \“

  2. 解压缩zip文件,以便在”C:\ wamp \ www \“下解压缩Zend文件夹(带有版本名称)。

  3. 通过让你最终 “C:\ WAMP \ WWW \ ZendFramework” 删除版本重命名文件夹

  4. 与运行在浏览器中的phpinfo()一个简单的PHP文件。请注意以下条目:“变量”下的“_SERVER [”PATH“]” “路径”下的环境 “Loaded Configuration File”顶部 “include_path”位于Core下方并且 “extension_dir”位于Core下。

  5. “_ SERVER [” PATH“]”和“路径”必须是相同的(没有道理)

  6. 应该有你的Apache服务器只有一个上市应该是在“加载的配置文件列表“但没有”php.ini“。因此,如果您的“Loaded Configuration File”为“C:\ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini”,您必须在“C:\ wamp \ bin \ apache \ apache2.2.22 \ bin”你的路径必须是对apache服务器的唯一引用。如果您有多个对Apache服务器的引用,Windows可能会根据您的PATH命令选择错误的并使用错误的php.ini文件。

  7. 你的“extension_dir”会告诉你你正在使用的php的版本和位置。 “C:\ php”,“C:\ wamp \ bin \ php \ php5.4.3”,“C:\ wamp \ bin \ php \ php5.3 ......” 。“等等。扩展目录会告诉你哪个php文件夹中的ZF文件夹在查找它的库时将”引用“。例如,如果您的扩展目录中显示“c:/wamp/bin/php/php5.4.3/ext/”,则需要关注“c:/wamp/bin/php/php5.4.3”

  8. 回到你的路径和a)添加此PHP版本的字符串和b)删除其他php文件夹的所有其他参考

  9. 现在,你知道你的运行和主要的PHP和Apache文件夹,关机(不要重新启动),关闭计算机并重新启动(重新启动并不总是让PATH完全复位)

  10. 转到php.ini文件中的a)“C:\ wamp \ bin \ apache \ apache2.xy \ bin“和”C:\ wamp \ bin \ php \ php5.4.3“并找到include_path var适用于Windows

  11. 替换默认行,如下所示: ; include_path =“。; c:\ php \ includes;”包括; C:\ wamp \ www \ ZendFramework \ library“ 与 include_path =”。; c:\ php \ includes“就像Tjorriemorrie指出的那样。

  12. 重新启动所有服务通过点击WAMP的图标,并选择上述选项

  13. 在这一点上我的ZF工具在工作。但是,为了安全起见,关机和启动

  14. 微笑和抢啤酒!

相关问题