Zend OSX и "."добавлено в контекстный путь - PullRequest
0 голосов
/ 08 марта 2011

Я загрузил и распаковал последнюю версию 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 / тома / ---- / ---- / z / library / Zend / Tool / Project / Context / Repository.php (79): Zend_Tool_Project_Context_Repository-> addContextClass ('Zend_Tool_Proje ...')

2 / Тома / ---- / ---- / 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 в /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))! =". ") {…}', tтогда я не получаю эту ошибку, но я получаю другую:

sh-3.2 # zf создать проект testProject

Произошла ошибка
Контекст по имениapplicationDirectory не существует в реестре.

Консольный инструмент командной строки Zend Framework v1.11.3 Подробности действия «Создать» и провайдера «Проект»
Проект zf Создать путь к проекту имя-профиля-профиляфайл профиля

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

К сожалению, решением было установить Zend Server Community Edition и позаботиться обо всем за меня.Для всех остальных пользователей OSX, идущих по этому маршруту, проверьте: http://cmorrell.com/webdev/installing-zend-server-zend-framework-on-os-x-291

включает шаги по включению поддержки CLI.

0 голосов
/ 08 марта 2011

Я протестировал на своем Mac, и он работает нормально. Вы пытались перезагрузить свой сервер xampp, я не знаю, как он работает, поскольку я использую уже установленные версии Apache & PHP, а не «пакет AMP». Возможно, это проблема с php.ini include_path, который не был перезагружен.

Это явно проблема с путем, так как не удается создать имя класса:

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

точка не должна появляться здесь. Можете ли вы поделиться своей переменной PATH с терминала и вашим include_path с вашего php.ini.

...