Chyba při routování na ostrém serveru, na localhostu ok
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Mesiah
- Člen | 240
Dobrý den,
prosím Vás, mám routy a na localhostu mi funguje, na ostrém serveru (ic.cz) dostávám chybu:
<br /><b>Warning</b>: call_user_func(Categories::id2url) [<a href='function.call-user-func'>function.call-user-func</a>]: Unable to call Categories::id2url(2) in <b>/home/free/e-blog.cz/s/sebastian/root/www/libs/Nette/Application/Routers/Route.php</b> on line <b>292</b><br />
Pomůžete mi prosím najít řešení?
Routy:
<?php
// Step 4: Setup application router
$router = $application->getRouter();
Route::addStyle('#aid');
Route::setStyleProperty('#aid', Route::FILTER_IN, callback('Posts::url2id'));
Route::setStyleProperty('#aid', Route::FILTER_OUT, callback('Posts::id2url'));
Route::addStyle('#cid');
Route::setStyleProperty('#cid', Route::FILTER_IN, callback('Categories::url2id'));
Route::setStyleProperty('#cid', Route::FILTER_OUT, callback('Categories::id2url'));
$router[] = new Route('index.php', array(
'module' => 'Front',
'presenter' => 'Post',
'action' => 'default',
), Route::ONE_WAY);
// dump(Environment::getHttpRequest()->getQuery());
$router[] = new Route('login', array(
'presenter' => 'Front:Login',
'action' => 'default',
));
$router[] = new Route('kontakt', array(
'presenter' => 'Front:Contact',
'action' => 'show',
));
$router[] = new Route('clanek/<id #aid>', array(
'presenter' => 'Front:Post',
'action' => 'show',
));
$router[] = new Route('kategorie/<category #cid>', array(
'presenter' => 'Front:Post',
'action' => 'default',
));
$router[] = new Route('admin/<presenter>/<action>/<id>', array(
'module' => 'Admin',
'presenter' => 'Post',
'action' => 'default',
'id' => NULL,
));
$router[] = new Route('<presenter>/<action>/<id>', array(
'presenter' => 'Front:Post',
'action' => 'default',
'id' => NULL,
));
?>
tak jsem se v tom vrtal a nenapadá mě důvod, proč to nefunguje. Koukal
jsem do API na Route a chyba nastává na konci bloku foreach, kde, jak jsem
pochopil, se vynechávají ‚default‘ hodnoty a překládají se názvy pro
akce, presentery, aplikují se regexp…
Jediný rozdíl mezi servery je ten, že vyvíjím na na Ubuntu s PHP 5.3 a
ostrý server má PHP 5.2. Používám Nette bez namespace a bez prefixů
tříd, takže v tomto taky problem asi nebude…
PROSÍM PROSÍM poraďte mi, aspoň v čem by to mohlo být, prostě cokoliv… :(
Editoval Mesiah (21. 8. 2010 14:55)