Witam mam ten sam problem po wgraniu najnowszej wersji ZF.
Wcześniej przy aplikacji którą buduję używałem 1.0.3, nasępnie 1.5.0 PR i było bez żadnych problemów. Wgrałem nowy ZF 1.5.0 RC1 (w miejsce starego tak jak poprzednio, ścieżki nie powinny się zmienić) i wyskakuje mi:
<span style="font-weight: bold;"><a href="http://pl.php.net/Fatal error: Uncaught exception 'Zend_Controller_Action_Exception' with message 'Action "index" does not exist and was not trapped in __call()' in /home/***/public_html/portal/library/Zend/Controller/Action.php:477 Stack trace: #0 /home/***/public_html/portal/library/Zend/Controller/Action.php(504): Zend_Controller_Action->__call('indexAction', Array) #1 /home/***/public_html/portal/library/Zend/Controller/Dispatcher/Standard.php(293): Zend_Controller_Action->dispatch('indexAction') #2 /home/***/public_html/portal/library/Zend/Controller/Front.php(914): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #3 /home/***/public_html/portal/index.php(36): Zend_Controller_Front->dispatch() #4 {main} thrown in /home/***/public_html/portal/library/Zend/Controller/Action.php on line 477" title="Zobacz w manualu PHP" target="_manual">
Fatal error: Uncaught exception 'Zend_Controller_Action_Exception' with message 'Action "index" does not exist and was not trapped in __call()' in /home/***/public_html/portal/library/Zend/Controller/Action.php:477 Stack trace: #0 /home/***/public_html/portal/library/Zend/Controller/Action.php(504): Zend_Controller_Action->__call('indexAction', Array) #1 /home/***/public_html/portal/library/Zend/Controller/Dispatcher/Standard.php(293): Zend_Controller_Action->dispatch('indexAction') #2 /home/***/public_html/portal/library/Zend/Controller/Front.php(914): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #3 /home/***/public_html/portal/index.php(36): Zend_Controller_Front->dispatch() #4 {main} thrown in /home/***/public_html/portal/library/Zend/Controller/Action.php on line 477
</a></span>
I nie mam pojęcia jak to obejść. Jak podmieniam katalog Zend na Zend_old (zamienię nazwy ze starszą wersją) to wszystko wraca do normy. Moj index.php:
<?php
date_default_timezone_set('Europe/London');
. PATH_SEPARATOR . './application/models/'
include "Zend/Loader.php";
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Config_Ini');
Zend_Loader::loadClass('Zend_Filter_StripTags');
Zend_Loader::loadClass('Zend_Registry');
Zend_Loader::loadClass('Zend_Db');
Zend_Loader::loadClass('Zend_Db_Table');
Zend_Loader::loadClass('Zend_Debug');
Zend_Loader::loadClass('Zend_Auth');
Zend_Loader::loadClass('Zend_Session');
Zend_Loader::loadClass('KontrolerGlowny');
// setup controller
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
// $frontController->setControllerDirectory(array('default' => './application/controllers','admin' => './application/admin/controllers'));
$frontController->setControllerDirectory('./application/controllers');
$config = new Zend_Config_Ini('./application/config.ini', 'general');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);
$db = Zend_Db::factory( $config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);
Zend_Registry::set('db', $db);
$db->query('Set names utf8');
$frontController->dispatch();
?>
Plik .htaccess:
<span style="font-weight: bold;"><a href="http://pl.php.net/RewriteEngine onRewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php" title="Zobacz w manualu PHP" target="_manual">RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php</a></span>
NA starszych wersjach to wszystko ładnie śmiga. Pomocy!
Edit / RozwiązanieJa juz znalazlem rozwiazanie, może się komuś przyda:
<?php
function indexController //poprawnie
function IndexController //niepoprawnie
?>
W poprzednich wersjach to przechodziło, w tej natomiast nie :/