Error 500 – Znova a dokola
- Legáček
- Člen | 16
Zdravím, věřím, že vás toto téma už nudí, ale chtěl jsem vás poprosit jestli by jste mi nepomohli vyřešit error 500. Po strávených asi 3h neustálého pátrání v čem to může být jsem se už musel obrátit na vás… Složka www/ a zde mám uložený všechny složky Nett a index.php a i .htaccess který vypadá takto.
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>
takhle vypadá config.ini v app
php.date.timezone = "Europe/Prague"
;php.session.save_path = "%tempDir%/sessions"
;php.zlib.output_compression = yes
;php.default_charset = "UTF-8"
; services
service.Nette-Security-IAuthenticator = UsersModel
service.Nette-Loaders-RobotLoader.option.directory[] = %appDir%
service.Nette-Loaders-RobotLoader.option.directory[] = %libsDir%
service.Nette-Loaders-RobotLoader.run = TRUE
db.server = xxx
db.database = xxx
db.username = xxx
db.password = xxx
db.driver = mysqli
db.charset = utf8
db.lazy = TRUE
[production < common]
[development < common]
a takto bootstrap:
require LIBS_DIR . '/Nette/Nette/loader.php';
Debug::$strictMode = TRUE;
Debug::enable();
Environment::loadConfig();
$application = Environment::getApplication();
$application->errorPresenter = 'Error';
//$application->catchExceptions = TRUE;
$router = $application->getRouter();
$router[] = new Route('<action>/[<id [0-9]+>]', array(
'presenter' => 'Web:Index',
'action' => 'default',
));
$router[] = new Route('<presenter>/<action>[/<id>]', array(
'modul' => ':Web',
'presenter' => 'Index',
'action' => 'default',
));
dibi::connect(Environment::getConfig('db'));
$application->run();
Všechno jsem se snažil přehodit změnit atd.. Nic nefunguje děkuji za všechny rady! Log a temp mají 755 a další záhadná věc je že na jednom serveru to jede a na druhém to hází error 500 :(
- Mikulas Dite
- Člen | 756
Mohla by pomoct laděnka – na produkčním serveru takto:
Debug::enable(Debug::DEVELOPMENT);
Editoval Mikulas Dite (7. 3. 2011 18:58)
- Mikulas Dite
- Člen | 756
jtousek napsal(a):
Ne, to tedy nemohla. Error 500 znamená v 99% případů problém v .htaccess. S PHP ani Nette to nemá vůbec nic společného.
Tak to vůbec, 500
by mělo vyhodit nette, pokud v produkčním
režimu dojde k chybě před výstupem.
- Droid
- Člen | 92
Legáček napsal(a):
Cifro napsal(a):
config.neon
… ak máš verziu z githubu
Abych pravdu řekl vůbec netuším :( Zkoušel jsem to založit přes github.com ale to mi nějako nejde. Můžete mi poradit jak získám informaci pro vás jakože verzi Githubu?
On myslel, jestli jsi stahoval Nette z webu nebo z Githubu – na tom závisí to, kde je uložená konfigurace.
Editoval Droid (7. 3. 2011 20:53)
- jtousek
- Člen | 951
Mikulas Dite napsal(a):
jtousek napsal(a):
Ne, to tedy nemohla. Error 500 znamená v 99% případů problém v .htaccess. S PHP ani Nette to nemá vůbec nic společného.
Tak to vůbec,
500
by mělo vyhodit nette, pokud v produkčním režimu dojde k chybě před výstupem.
Co?? Nette vyhazuje chybu 500? Tu jsem si vždy spojoval s .htaccessem. Vím, že ji PHP může vyhodit taky, ale nenapadlo mě, že Nette zrovna tuhle používá. Připadalo by mi mnohem logičtější vyhodit 503 (která indikuje dočasný problém).
- Solution
- Člen | 50
Tak ono se dá dost jednodušše poznat, jestli HTTP error vyhazuje Nette
nebo php server, stačí se podívat do hlavičky HTTP response, Nette tam
má:„X-Powered by Nette“ nebo nějak tak.
Jinak problém vyřešen? Pokud ne, mohl by si postnout ten konkrétní error?
Ne jenom,„něco tady..“.
Editoval Padik (8. 3. 2011 0:13)
- Legáček
- Člen | 16
Padik napsal(a):
Tak ono se dá dost jednodušše poznat, jestli HTTP error vyhazuje Nette nebo php server, stačí se podívat do hlavičky HTTP response, Nette tam má:„X-Powered by Nette“ nebo nějak tak.
Jinak problém vyřešen? Pokud ne, mohl by si postnout ten konkrétní error? Ne jenom,„něco tady..“.
Já mám si myslim, že poznám když je to Nette error a kdy php..Když tam
dám to co mi radí Droid tak mi to vyhodí php chybu error 500
„Additionally, a 500 Internal Server Error error was encountered while trying
to use an ErrorDocument to handle the request.“ a když to tam není hazí mi
to chybu: „Server Error
We're sorry! The server encountered an internal error and was unable to complete
your request. Please try again later.
error 500“
- Droid
- Člen | 92
Legáček napsal(a):
Padik napsal(a):
Tak ono se dá dost jednodušše poznat, jestli HTTP error vyhazuje Nette nebo php server, stačí se podívat do hlavičky HTTP response, Nette tam má:„X-Powered by Nette“ nebo nějak tak.
Jinak problém vyřešen? Pokud ne, mohl by si postnout ten konkrétní error? Ne jenom,„něco tady..“.Já mám si myslim, že poznám když je to Nette error a kdy php..Když tam dám to co mi radí Droid tak mi to vyhodí php chybu error 500 „Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.“ a když to tam není hazí mi to chybu: „Server Error
We're sorry! The server encountered an internal error and was unable to complete your request. Please try again later.
error 500“
A zkoušel jsi to moje v kombinaci s odkomentovaným RewriteBase?
- Legáček
- Člen | 16
Droid napsal(a):
A zkoušel jsi to moje v kombinaci s odkomentovaným RewriteBase?
Jojo zkoušel jsem vše a nic nezabralo buď je tam apache 500 nebo Nette 500…možná problém je že já ten dokument „zdědil“ a snažím se pochopit co ten kodér přede mnou chtěl dokázat. Mám složku www/ kde je .htaccess a je tam i index.php app,log,temp,libs … třeba v tom app mám ten bootstrap.php a config.ini a je tam třeba další .htaccess kde je
Order Allow,Deny
Deny from all
A není to jen tam takový .htaccess, tak jestli to není i tím, ale zkoušel jsem je všechny smazat a mít jen jeden hned v tý složce www/.htaccess a to taky nepomáhá já už nevím co s tím :(
- Legáček
- Člen | 16
To Patrik Votoček:
To mi bohůžel nijak nepomohlo, nespustila se mi laděnka když jsem tam měl
ten apache error.
To Droid:
index.php mám takto:
// the identification of this site
define('SITE', '');
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/libs');
// absolute filesystem path to the temporary files
define('TEMP_DIR', WWW_DIR . '/temp');
// load bootstrap file
require APP_DIR . '/bootstrap.php';
Celý dopoledne jsem se v tom vrtal až mi laděnka ukazuje chybu „Template is not valid UTF-8 stream in …/Index/default.latte“, tak jsem vše v app/WeboModules/templates/ změnil všechny latte na windows-1250. Nic nepomohlo a BOM mám vyplý a ještě jsem do configu zkoušel dát
php.iconv.internal_encoding = "windows-1250"
php.mbstring.internal_encoding = "windows-1250"
;php.default_charset = "windows-1250"
Což taky vůbec nepomohlo :( ÁÁÁÁááá řekl bych že mám hodně trpělivosti ale tady už …
- Legáček
- Člen | 16
gmvasek napsal(a):
Nette nepracuje s jiným kódováním než UTF-8. Jinak kód v prvním příspěvku je celý tvůj .htaccess?
Jojo to je můj celý .htaccess nic víc nic míň. A když server tedy nepodporuje UTF-8 u Nette tak to jsem docela v …, protože se se nikdy nemůžu zbavit tohoto erroru s UTF-8
- Mikulas Dite
- Člen | 756
Jak nepodporuje utf-8? Ta hláška jenom říká, že Nette dostalo v šabloně něco jiného. Zkus promáznou layout, odstranit include, controly atp. dokuď hláška nezmizí – potom uvidíš, v jaké šabloně je nevalidní znak (tahle informace je možná i u té chyby, ne?).