error 500
- Kenn
- Člen | 110
Mám zajímavý problém. Nahrál jsem si Nette aplikaci na server pro test a háže mi to error 500 (viz. http://nette.itstudent.cz/document_root/). Soubor htaccess jsem smazal, ale chyba přetrvává. Na localhostu mi aplikace normálně běží. Není nějaká složitá, využívá routování, šablony a přístup k databázi pomocí dibi.
Jako dodatek přidávám checker http://nette.itstudent.cz/checker.php
- romansklenar
- Člen | 655
Máš v document_root/.htaccess
toto?
# mod_rewrite
RewriteEngine On
RewriteBase /
btw: pozor na to – http://nette.itstudent.cz/app/config.ini
- Kenn
- Člen | 110
V .htaccess mám toto
# disable directory listing
Options -Indexes
# configure PHP
<IfModule mod_php5.c>
php_flag magic_quotes_gpc off
php_flag register_globals off
</IfModule>
# mod_rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>
Bohužel aplikace nenabíhá i když htaccess smažu.
Temp zápis má, v logu se nic neobjevuje :-)
- Kenn
- Člen | 110
Tak jsem pokročil z 500 na 404 :-). Log jsem vyprázdnil a teď už žádné chyby neháže. V document_root adresáři je samozřejmě pořád stejný index.php a .htaccess
edit: nette si v tempu stále vytváří cache, což je divné vzhledem k tomu, že stránka píše 404
Editoval Kenn (6. 4. 2009 12:11)
- vlki
- Člen | 218
Předpokládám, že jsi svou aplikaci stavil na příkladu skeleton z distribuce, ne?
Pokud ano, tak 404 v produkčním módu znamená odchycení výjimky
BadRequestException
. Což bude nějaké špatné routování.
A i když se nic nezobrazuje, tak se ti určitě bude kešovat minimálně RobotLoader.
- pheidrich
- Člen | 11
Hostingem to nebude, na gigaserver.cz mi Nette běží bez problémů.
Jak už bylo řečeno, zapni si
Debug::enable(Debug::DEVELOPMENT);
a hned uvidíš…
A změň si tu adresářovou strukturu! Pořád máš přístupné některé soubory, které by měly být raději jinde (http://nette.itstudent.cz/…ootstrap.php).
- adresáře app, libs, log.. dej třeba do /pokusy-nette/
- obsah document_root dej přímo do /nette.itstudent.cz/
- změň cesty v /nette.itstudent.cz/index.php
- cuga
- Člen | 210
pozor na jednu vec :) taky sem se nachytal… mel sem na ostrem serveru 500, sessions, log i temp prava 777, tak si rikam „ajta krajta“… a v cem byl problem? ne log, ale logs :) na testovacim serveru pohoda, protoze logs nepotreboval, ale na ostrem si to asi kontroluje a hned byl ohen na strese :)
- Kenn
- Člen | 110
$router[] = new Route('<presenter>/<nazev>', array(
'presenter' => 'Default',
'view' => 'Default',
'nazev' => NULL,
));
$router[] = new Route('kocarek/<nazev>', array(
'presenter' => 'Kocarek',
'view' => 'Default',
'nazev' => 'nazev',
));
$router[] = new Route('<presenter>/<view>/<nazev>', array(
'presenter' => 'Default',
'view' => 'Default',
'nazev' => NULL,
));
Editoval Kenn (6. 4. 2009 15:58)
- Kenn
- Člen | 110
public function renderDefault()
{
$dotaz = $this->db->query('SELECT * FROM kocarky_kocarky');
$this->template->kocarky = $dotaz->fetchAll();
}
Divné je, že na localhostu všechno šlapalo jak hodinky.
Jo a už jsem předělal adresářovou strukturu, takže už není adresář document_root, ale soubory z document_root jsou v rootu webu, tj. na http://nette.itstudent.cz.
Editoval Kenn (6. 4. 2009 16:57)
- Kenn
- Člen | 110
Ok, můžeš se mi ozvat třeba na ICQ(237235420) nebo jabber(mrtvykenny@jabbim.cz)? E-mail je trošku nepohodlný :-)
- romansklenar
- Člen | 655
Tam byl název šablony dobře (Default.default.phtml), ale v routeru byl
action => 'Default'
s velkým D, proto ta chyba na úvodní
stránce když ostatní fungovaly.