Zend OSX和一个“。”添加到上下文路径

时间:2011-03-08 01:59:04

标签: macos zend-framework xampp zend-tool

我将最新版本的Zend Framework下载并解压缩到OSX(10.6)上(我也使用XAMPP运行webserver,但是我将include_path更改添加到XAMPP和OSX路径,但这是所有命令行所以我不认为php编译器正在使用XAMPP安装)

我尝试创建一个项目并获得以下内容:(请注意,我只是为了隐私而用“----”替换部分路径)

  

sh-3.2# zf创建项目   testProject

     

致命错误:未捕获的异常   'Zend_Exception',消息'文件'Zend / Tool / Project / Context / Zf / /AbstractClassFile.php“不存在或类”Zend_Tool_Project_Context_Zf_ _AbstractClassFile“不是在文件中找到'in /Volumes/----/----/z/library/Zend/Loader.php:99堆栈跟踪:

     

0 /Volumes/----/----/z/library/Zend/Tool/Project/Context/Repository.php(88):   那么Zend_Loader ::的loadClass( 'Zend_Tool_Proje ...')

     

1 /Volumes/----/----/z/library/Zend/Tool/Project/Context/Repository.php(79):   Zend_Tool_Project_Context_Repository-> addContextClass( 'Zend_Tool_Proje ...')

     

2 /Volumes/----/----/z/library/Zend/Tool/Project/Provider/Abstract.php(87):   Zend_Tool_Project_Context_Repository-> addContextsFromDirectory( '/卷/ ---- / ...',   'Zend_Tool_Proje ...')

     

3 /Volumes/----/----/z/library/Zend/Tool/Framework/Provider/Repository.php(187):   Zend_Tool_Project_Provider_Abstract->初始化()

     

4 /Volumes/----/----/z/library/Zend/Tool/Framework/Client/Abstract.php(128):   Zend_Tool_F in   /Volumes/----/----/z/library/Zend/Loader.php   在第99行sh-3.2#

请注意“Context_Zf _”

之后的句号

我已将其缩小到这段代码:

文件:/ Volumes / ---- / ---- / z / library / Zend / Tool / Project / Provider / Abstract.php

public function initialize()
{
    // initialize the ZF Contexts (only once per php request)
    if (!self::$_isInitialized) {

        // load all base contexts ONCE
        $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
        $contextRegistry->addContextsFromDirectory(
            dirname(dirname(__FILE__)) . '/Context/Zf/', 'Zend_Tool_Project_Context_Zf_'
        );
        $contextRegistry->addContextsFromDirectory(
            dirname(dirname(__FILE__)) . '/Context/Filesystem/', 'Zend_Tool_Project_Context_Filesystem_'
        );
        // determine if there are project specfic providers ONCE

特别是“dirname(dirname( FILE ))”回显为“。”

如果我用'if(dirname(dirname(__ FILE))!=“。”){...}'包裹块,那么我没有得到那个错误,但我得到了另一个错误:

  

sh-3.2#zf create project testProject

     

发生错误
  上下文按名称applicationDirectory在注册表中不存在。

     

Zend Framework命令行控制台   工具v1.11.3行动细节   “创建”和提供者“项目”
  项目       zf创建项目路径名称的配置文件档案文件

2 个答案:

答案 0 :(得分:0)

我在Mac上测试过它运行正常。你有没有尝试重新启动xampp服务器,我真的不知道它是如何工作的,因为我使用Apache& PHP已经安装了版本而不是“AMP包”。也许这是一个没有重新加载的php.ini include_path的问题。

这显然是路径的问题,因为它没有成功构建类名:

"Zend/Tool/Project/Context/Zf/./AbstractClassFile.php"

点不应出现在这里。 你能和终端分享PATH变量吗?从php.ini分享你的include_path

答案 1 :(得分:0)

可悲的是,解决方案是安装zend服务器社区版,并为我照顾一切。对于OSX上的其他任何人来说,请查看:http://cmorrell.com/webdev/installing-zend-server-zend-framework-on-os-x-291

包括启用CLI支持的步骤。