0

我将最新版本的 Zend Framework 下载并解压到 OSX (10.6) 上(我也在用 XAMPP 运行网络服务器,但我将 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 在/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('/Volumes/----/... ', 'Zend_Tool_Proje...')

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

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 创建项目 testProject

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

Zend Framework 命令行控制台工具 v1.11.3 详细操作“创建”和提供者“项目”
项目 zf 创建项目路径名称-配置文件文件-配置文件

4

2 回答 2

0

我在我的 Mac 上进行了测试,它运行良好。您是否尝试过重新启动 xampp 服务器,我真的不知道它是如何工作的,因为我使用 Apache 和 PHP 已经安装的版本而不是“AMP 包”。可能是 php.ini include_path 没有重新加载的问题。

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

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

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

于 2011-03-08T02:32:43.710 回答
0

可悲的是,解决方案是安装 zend 服务器社区版,并让它为我处理一切。对于 OSX 上走这条路的其他人,请查看:http ://cmorrell.com/webdev/installing-zend-server-zend-framework-on-os-x-291

包括启用 CLI 支持的步骤。

于 2011-03-08T20:59:35.473 回答