Apogeo - sviluppare applicazioni web 2.0 - Errori

Ciao a tutti...

qualcuno di voi sa per caso risolvermi questo messaggio di errore:

Premetto che il virtualhost non è stato abilitato in httpd.conf di apache. Tutta la cartella dello sviluppatore è stata spostata all'interno di htdocs di apache.

Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpweb20\htdocs\index.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='.;C:\php5\pear') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpweb20\htdocs\index.php on line 2

inviato 8 anni fa
ZoSo
ZoSo
1
X 0 X

prova a mettere all'inizio del file index.php questa istruzione:

set_include_path(get_include_path().PATH_SEPARATOR.'C:\percorso-del\ZendFramework\library');

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

prova a mettere all'inizio del file index.php questa istruzione:

set_include_path(get_include_path().PATH_SEPARATOR.'C:\percorso-del\ZendFramework\library');

 :bye:

<?php
   require_once('Zend/Loader.php');
   Zend_Loader::registerAutoload();

    // load the application configuration
    $config = new Zend_Config_Ini('../settings.ini', 'development');
    Zend_Registry::set('config', $config);


    // create the application logger
    $logger = new Zend_Log(new Zend_Log_Writer_Stream($config->logging->file));
    Zend_Registry::set('logger', $logger);


    // connect to the database
    $params = array('host'     => $config->database->hostname,
                    'username' => $config->database->username,
                    'password' => $config->database->password,
                    'dbname'   => $config->database->database);

    $db = Zend_Db::factory($config->database->type, $params);
    Zend_Registry::set('db', $db);
   
   
    // handle the user request
    $controller = Zend_Controller_Front::getInstance();
    $controller->setControllerDirectory($config->paths->base .
                                        '/include/Controllers');

    // setup the view renderer
    $vr = new Zend_Controller_Action_Helper_ViewRenderer();
    $vr->setView(new Templater());
    $vr->setViewSuffix('tpl');
    Zend_Controller_Action_HelperBroker::addHelper($vr);

    $controller->dispatch();
?>

Questo qui è il file originale.

Andando sostituire

require_once('Zend/Loader.php');

con set_include_path(get_include_path().PATH_SEPARATOR.'C:\percorso-del\ZendFramework\library');

Il browser mi tira fuori questo:

Fatal error: Class 'Zend_Loader' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpweb20\htdocs\index.php on line 3

Invece se la stringa php]set_include_path(get_include_path().PATH_SEPARATOR.'C:\percorso-del\ZendFramework\library'); la inserisco in testa alla pagina, il browser mi tira fuori:

[i]

Warning: Zend_Loader::include_once(Templater.php) [zend-loader.include-once]: failed to open stream: No such file or directory in C:\Programmi\ZendFramework\library\Zend\Loader.php on line 83

Warning: Zend_Loader::include_once() [function.include]: Failed opening 'Templater.php' for inclusion (include_path='.;C:\php5\pear;C:\Programmi\ZendFramework\library') in C:\Programmi\ZendFramework\library\Zend\Loader.php on line 83

Fatal error: Class 'Templater' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpweb20\htdocs\index.php on line 35[/i]

Grazie ancora . . . .

risposto 8 anni fa
ZoSo
ZoSo
1
X 0 X

non ti ho detto di sostituire la prima riga ma semplicemente di mettere l'istruzione che ti ho suggerito all'inizio dello script

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

non ti ho detto di sostituire la prima riga ma semplicemente di mettere l'istruzione che ti ho suggerito all'inizio dello script

 :bye:

Ho capito...

ma inserendo la tua stringa suggerita mi tira fuori l'errore sopra citato

qui c'è il codice:

<?php
   set_include_path(get_include_path().PATH_SEPARATOR.'C:\Programmi\ZendFramework\library');
   Zend_Loader::registerAutoload();

    // load the application configuration
    $config = new Zend_Config_Ini('../settings.ini', 'development');
    Zend_Registry::set('config', $config);


    // create the application logger
    $logger = new Zend_Log(new Zend_Log_Writer_Stream($config->logging->file));
    Zend_Registry::set('logger', $logger);


    // connect to the database
    $params = array('host'     => $config->database->hostname,
                    'username' => $config->database->username,
                    'password' => $config->database->password,
                    'dbname'   => $config->database->database);

    $db = Zend_Db::factory($config->database->type, $params);
    Zend_Registry::set('db', $db);
   
   //$db->query('select');


    // handle the user request
    $controller = Zend_Controller_Front::getInstance();
    $controller->setControllerDirectory($config->paths->base .
                                        '/include/Controllers');

    // setup the view renderer
    $vr = new Zend_Controller_Action_Helper_ViewRenderer();
    $vr->setView(new Templater());
    $vr->setViewSuffix('tpl');
    Zend_Controller_Action_HelperBroker::addHelper($vr);

    $controller->dispatch();
?>

l'errore che mi tira il browser è:

Fatal error: Class 'Zend_Loader' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpweb20\htdocs\index.php on line 3

Grazie

risposto 8 anni fa
ZoSo
ZoSo
1
X 0 X

Ok, prova a mettere come seconda istruzione:

require_once('Zend/Loader.php');

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Ok, prova a mettere come seconda istruzione:

require_once('Zend/Loader.php');

 :bye:

Perdona la mia insistenza ma adesso mi tira fuori un altro errore:

Warning: Zend_Loader::include_once(Templater.php) [zend-loader.include-once]: failed to open stream: No such file or directory in C:\Program Files\ZendFramework\library\Zend\Loader.php on line 83 Warning: Zend_Loader::include_once() [function.include]: Failed opening 'Templater.php' for inclusion (include_path='.;C:\php5\pear;C:\Program Files\ZendFramework\library') in C:\Program Files\ZendFramework\library\Zend\Loader.php on line 83 Fatal error: Class 'Templater' not found in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpweb20\htdocs\index.php on line 40

   set_include_path(get_include_path().PATH_SEPARATOR.'C:\Program Files\ZendFramework\library');
   
   require_once('Zend/Loader.php');
   
   Zend_Loader::registerAutoload();

Grazie ancora....

 :bye:

risposto 8 anni fa
ZoSo
ZoSo
1
X 0 X

cosa c'è alla riga 40 di index.php?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
cosa c'è alla riga 40 di index.php?
$controller->dispatch();
risposto 8 anni fa
ZoSo
ZoSo
1
X 0 X

cos'è Templater?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
cos'è Templater?

Il Templater è un estensione di smarty per l'utilizzo dell'applicazione web.

Imposta lo strumento di rendering per la visualizzazione delle pagine web.

Se ti va di scaricare l'intero codice puoi andare su http://www.corleone.eu/web.html

Troverai le cartelle del sito web e le mie configurazioni del php.ini e httpd.conf

Grazie ancora

 :bye:

risposto 8 anni fa
ZoSo
ZoSo
1
X 0 X

Se Templater non è un componente dello Zend Framework allora non si trova nel percorso 'C:\percorso-del\ZendFramework\library'.

Per questa ragione Zend_Loader non riesce a caricarlo automaticamente e quindi ricevi quell'errore.

Per risolvere il problema potresti includere il percorso alla classe Templater nell'istruzione set_include_path(), in maniera simile a quanto fatto per il percorso delle classi dello Zend Framework:

set_include_path(get_include_path().PATH_SEPARATOR.'C:\Program Files\ZendFramework\library'.PATH_SEPARATOR.'C:\percorso\al\Templater');

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Adesso funziona !!!!

 ;D ;D ;D

Grazie Gianni per la tua disponibilità !!!!!

risposto 8 anni fa
ZoSo
ZoSo
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda