Error 500 – Znova a dokola

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Legáček
Člen | 16
+
0
-

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 :(

jtousek
Člen | 951
+
0
-

Zkoušels odkomentovat RewriteBase?

Mikulas Dite
Člen | 756
+
0
-

Mohla by pomoct laděnka – na produkčním serveru takto:

Debug::enable(Debug::DEVELOPMENT);

Editoval Mikulas Dite (7. 3. 2011 18:58)

jtousek
Člen | 951
+
0
-

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.

Legáček
Člen | 16
+
0
-

jtousek napsal(a):

Zkoušels odkomentovat RewriteBase?

Vyzkoušeno a error 500 přetrvává…zkoušel jsem i tu laděnku a vyskočí mi chyba v Environment::loadConfig(); což je divný přitom config.ini je hned vedle boostrapu.php…

Cifro
Člen | 245
+
0
-

config.neon

… ak máš verziu z githubu

Editoval Cifro (7. 3. 2011 19:32)

Mikulas Dite
Člen | 756
+
0
-

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.

Legáček
Člen | 16
+
0
-

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?

Droid
Člen | 92
+
0
-

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)

Legáček
Člen | 16
+
0
-

Droid
Tak to jsem špatně pochopil…Mám to z webu .

jtousek
Člen | 951
+
0
-

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).

Droid
Člen | 92
+
0
-

Že já blbec si to neuvědomil dřív – zkus přidat na konec .htaccess tohle:

php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
Solution
Člen | 50
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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 :(

Patrik Votoček
Člen | 2221
+
0
-

pošolichej hejblátka tak aby ti 500 vyhazovalo PHP a pak nahoď laděnku

Droid
Člen | 92
+
0
-

Jak máš v index.php nastavené cesty?

Legáček
Člen | 16
+
0
-

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ž …

Aurielle
Člen | 1281
+
0
-

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?

Legáček
Člen | 16
+
0
-

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
+
0
-

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?).

JPalounek
Člen | 19
+
0
-

Droid napsal(a):

Že já blbec si to neuvědomil dřív – zkus přidat na konec .htaccess tohle:

php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0

Díky! Zachránilo mě to!