Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mickj

Problemas com configuração de Zend Framework

Recommended Posts

Bom dia.

 

Estou com problemas na configuração de meu ZendFramework em meu servidor virtual do meu micro para estudos, é um Debian Squeeze, instalei certo como os sites no google informaram mas conforme entro no index.php acontece isso.

 

alguém pode me ajudar?

 

Warning: require_once(Zend/Version.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/zftest.php on line 4

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Version.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/zftest.php on line 4

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não definiu o include_path. Cuidado com os "sites no google".

 

O index.php comum de uma app ZF1 é:

 

<?php

   // Define path to application directory
   defined('APPLICATION_PATH')
   || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));

   // Define application environment
    defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') 
       ? getenv('APPLICATION_ENV') : 'production'));

   // Ensure library/ is on include_path
     set_include_path(implode(PATH_SEPARATOR, 
     array(realpath(APPLICATION_PATH . '/library'), get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';    

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();

 

E caso estiver usando para aprender, largue o ZF1, o ZF2 já está estável há meses.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, to usando um vitural host com debian squeeze. como assim apenas um arquivo solto.

 

apesar que quando o pessoal fala para fazer o teste "zf show version" funciona normalmente.

 

até aquele instrução "zf create project (nome-do-projeto)" criou

 

o erro mesmo é só quando abro o index pelo navegador http://localhost/index.php ou aquele aquivo que criei para testar http://localhost/zftest.php que contém um scrip que peguei em um site ensinando a configurar, os dois deu o mesmo erro

 

Warning: require_once(Zend/Version.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/"index.php ou zftest" on line "18 ou 4"


Fatal error: require_once() [function.require]: Failed opening required 'Zend/Version.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www"index.php ou zftest" on line "18 ou 4"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa de uma estrutura.

 

/site

/application

/public (aqui o server aponta)

index.php

/library (pasta do zend e tal)

 

O único problema que pode estar acontecendo é o problema na estrutura de pastas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então amigão como eu disse quando digitei zf create project (nome-do-projeto) ele criou essa estrutura automaticamente.



eu to suspeitando que seja uma configuração no /etc/php5/apache2/php.ini e /etc/php5/cli/php.ini, mas não tenho certeza se realmente é!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pô.. é necessário ter conhecimento disso, é básico da linguagem. http://php.net/manual/en/language.oop5.autoload.php

 

Você precisa alterar a pasta de library.

 

<?php

   // Define path to application directory
   defined('APPLICATION_PATH')
   || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));

   // Define application environment
    defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') 
       ? getenv('APPLICATION_ENV') : 'production'));

   // Ensure library/ is on include_path
     set_include_path(implode(PATH_SEPARATOR, 
     array(realpath('/opt/ZendFramework-1.12.3/library'), get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';    

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o que você me orientou e nada ainda!



então deixa eu te falar essa library que eu te falei, eu passei o endereço do arquivo descompactado e mais tem uma outra library que ta junto com o projeto. ela esta vaiza a que esta junto do projeto.

 

 

/site

/application

/public (aqui o server aponta)

index.php

/library (esta vazia)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você fala

 

copiar a pasta que extraida do zend para dentro do library cp -rf /opt/ZendFramework-1.12.3 /var/www/projeto/library

 

isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta exatamente assim.

 

 

/TreinamentoZF

/application

/docs

/library

/ZendFramework-1.12.3 (como o copiado)

/public

index.php

/tests

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é assim. Dentro da library/ZendFramework-1.12.3 deve haver uma pasta library e dentro dela, uma chamada Zend. Copie essa pasta Zend e coloque na library, ficando assim:

 

 

/TreinamentoZF

/application

/docs

/library

/Zend (anteriormente em TreinamentoZF/library/ZendFramework-1.12.3/library/Zend)

/public

index.php

/tests

Compartilhar este post


Link para o post
Compartilhar em outros sites

novamente fiz exatamente o que você falou e nada aconteceu!



amigão tem como você me fala como ta seu (include_path = ".:/opt/ZendFramework-1.12.3/library") do /etc/php5/apache2/php.ini e /etc/php5/cli/php.ini esse include_path ta por volta da linha 780.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe pela demora, acabei esquecendo do tópico. Se já resolveu o problema, ignore.

 

O problema é que o include_path não deve ser no php.ini quando você está usando uma library para cada pasta (forma distribuída). Você tem que se resolver: uma library no sistema ou para cada projeto (maior flexibilidade). O ponto é que o include path deve apontar para a pasta que possui a pasta Zend, que nela está contida as bibliotecas do ZF1.

 

Apesar de você usar Debian, veja se esse artigo de instalação lhe ajuda: http://tutology.net/category/zend-framework/how-install-zend-framework-ubuntu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.