Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2009, 19:06
Thaorius
 
Fecha de Ingreso: julio-2008
Mensajes: 83
Antigüedad: 15 años, 9 meses
Puntos: 6
Exclamación Zend Framework, no output, nada de nada :S

Hola, estoy teniendo un problema por demas extraño. My application no produce salida alguna, nisiquiera los headers.

PERO, si la ejecuto desde la shell(php5 index.php), funciona perfecto... la verdad no me lo explico.

Shell Output:
Código:
thaorius@Rhea:/var/www/octopus/public$ php5 --version
PHP 5.2.6-1+lenny2 with Suhosin-Patch 0.9.6.2 (cli) (built: Jan 26 2009 22:41:04)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
thaorius@Rhea:/var/www/octopus/public$ php5 index.php
Header<br />
Content: Hello Zend Framework!
<br />
Footer<br />
Ahora, desde el navegador no se ve nada, y si hago un wget para ver con mas detalles que pasa:
Código:
thaorius@Rhea:/var/www/octopus/public$ wget http://octopus.dev/
--2009-04-06 21:59:20--  http://www.octopus.dev/
Resolving www.octopus.dev... 192.168.3.101
Connecting to www.octopus.dev|192.168.3.101|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.

--2009-04-06 21:59:21--  (try: 2)  http://www.octopus.dev/
Connecting to www.octopus.dev|192.168.3.101|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.

--2009-04-06 21:59:23--  (try: 3)  http://www.octopus.dev/
Connecting to www.octopus.dev|192.168.3.101|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
Mi index es lo mas simple posible:
Código PHP:
<?php

// Require Bootstrap.php
require('../application/Bootstrap.php');

// Run application
Bootstrap::run();
Y el bootstrap(view y database setup estan a medias):
Código PHP:
<?php

class Bootstrap
{
    public static 
$front null;
    public static 
$manager null;
    public static 
$conn null;
    public static 
$sett null;
    public static 
$PROJECT_PATH null;
    public static 
$APPLICATION_PATH null;
    public static 
$CONFIG_PATH null;
    public static 
$MODULES_PATH null;
    public static 
$MODELS_PATH null;
    public static 
$LAYOUTS_PATH null;
    const 
ENVIRONMENT 'development';

    public static function 
run()
    {
        
// Configure sub-systems
        
self::prepare();

        
// Dispatch front controller
        
$response self::$front->dispatch();

        
// Send HTTP response
        
self::sendResponse($response);
    }

    public static function 
prepare()
    {
        
// Setup environment
        
self::setupEnvironment();

        
// Require Zend_Loader
        
require_once('Zend/Loader.php');

        
// Register autoloader
        
Zend_Loader::registerAutoload();

        
// Load core settings
        
self::$sett = new Zend_Config_Xml(self::$CONFIG_PATH DIRECTORY_SEPARATOR 'core.xml'self::ENVIRONMENT);
        
Zend_Registry::set('CoreConfig'self::$sett);

        
// Setup default Content-Type
        
Zend_Registry::set('ContentType''text/html');
        
Zend_Registry::set('ContentTypeCharset''UTF-8');
        
Zend_Registry::set('ContentTypeNoCharset'false);

        
// Setup front controller
        
self::setupFrontController();

        
// Setup router
        
self::setupRouter();

        
// Setup view
        
self::setupView();

        
// Setup database
        
self::setupDatabase();

        
// Register plugins
        
self::registerPlugins();
    }

    public static function 
setupEnvironment()
    {
        
// Re-configure PHP core
        
error_reporting(E_ALL E_STRICT);
        
ini_set('display_errors''On');
        
ini_set('mbstring.internal_encoding''UTF-8');

        
// Set path constants
        
self::$PROJECT_PATH realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR '..');
        
self::$APPLICATION_PATH self::$PROJECT_PATH DIRECTORY_SEPARATOR 'application';
        
self::$CONFIG_PATH self::$APPLICATION_PATH DIRECTORY_SEPARATOR 'config';
        
self::$MODULES_PATH self::$APPLICATION_PATH DIRECTORY_SEPARATOR 'modules';
        
self::$MODELS_PATH self::$APPLICATION_PATH DIRECTORY_SEPARATOR 'models';
        
self::$LAYOUTS_PATH self::$APPLICATION_PATH DIRECTORY_SEPARATOR 'layouts';

        
// Update include path
        
set_include_path(
            
self::$PROJECT_PATH DIRECTORY_SEPARATOR 'library' PATH_SEPARATOR
             
self::$MODELS_PATH PATH_SEPARATOR
             
self::$MODELS_PATH DIRECTORY_SEPARATOR 'generated' PATH_SEPARATOR
             
get_include_path()
        );
    }

    public static function 
setupFrontController()
    {
        
// Get front controller instance
        
self::$front Zend_Controller_Front::getInstance();

        
// Catch HTTP response
        
self::$front->returnResponse(true);

        
// Setup module directory
        
self::$front->addModuleDirectory(self::$MODULES_PATH);

        
// Setup default module
        
self::$front->setParam('prefixDefaultModule'true);
        
self::$front->getDispatcher()->setDefaultModule('front');
    }

    public static function 
setupRouter()
    {
        
// Setup new routes
        
$router self::$front->getRouter();
        
$router->removeDefaultRoutes();
        
$router->addConfig(self::$sett'routes');

        
// Setup router
        
self::$front->setRouter($router);
    }

    public static function 
setupView()
    {
        
// Setup layout
        
Zend_Layout::StartMvc();

        
$layoutMvc Zend_Layout::getMvcInstance();
        
$layoutMvc->setLayoutPath(self::$LAYOUTS_PATH);
        
$layoutMvc->setLayout('default');
        
$layoutMvc->getInflector()->setTarget(':script/layout.:suffix');

        
// Setup view
        
$view $layoutMvc->getView();
        
$view->addScriptPath(self::$LAYOUTS_PATH DIRECTORY_SEPARATOR 'default');
        
$view->setEncoding('UTF-8');

        
Zend_Dojo::enableView($view);
    }

    public static function 
setupDatabase()
    {
        
// Get Doctrine_Manager instance
        
self::$manager Doctrine_Manager::getInstance();

        
// Enable UTF-8 support
        
self::$manager->setCharset(self::$sett->database->charset);
        
self::$manager->setCollate(self::$sett->database->collate);

        
// Setup Doctrine connection
        
self::$conn self::$manager->connection(self::$sett->database->dsn);
    }

    public static function 
registerPlugins()
    {
    }

    public static function 
sendResponse(Zend_Controller_Response_Http $response)
    {
        
// Mount Content-Type header
        
$header Zend_Registry::get('ContentType') . (Zend_Registry::get('ContentTypeNoCharset') ? '' : ('; charset=' Zend_Registry::get('ContentTypeCharset')));

        
// Set charset to UTF-8
        
$response->setHeader('Content-Type'$headertrue);

        
// Send HTTP response
        
$response->sendResponse();
    }
}
Cabe destacar que el servidor esta funcionando bien y que los archivos estan siendo ejecutados por PHP al acceder via browser ya que si muestra parse errors y otros errores compile-time.

Un saludo y gracias de antemano.