500 – Chyba serveru! Na localhostu vše ok

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

Na ostrém serveru mi vyskakuje chyba 500 – Chyba serveru! Práva 777 pro temp a log mám nastaveno, debug zapnutý, ale žádné chyby se do logu nezapisují.

Toto mám v Bootstrapu:

<?php

require dirname(__FILE__) . '/../core.nette/loader.php';

// Step 2: Configure environment
// 2a) enable Nette\Debug for better exception and error visualisation
//Environment::setMode('debug', TRUE);
Debug::enable(Debug::DEVELOPMENT);
//Debug::enable(Debug::DETECT);
// 2b) load configuration from config.ini file
Environment::loadConfig();
// 2c) check if directory /app/temp is writable
if (@file_put_contents(Environment::expand('%tempDir%/_check'), '') === FALSE) {
	throw new Exception("Make directory '" . Environment::getVariable('tempDir') . "' writable!");
}
// 2d) enable RobotLoader - this allows load all classes automatically
$loader = new RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->register();
// Step 3: Configure application
// 3a) get and setup a front controller
$application = Environment::getApplication();
// 3b) establish database connection
$application->onStartup[] = 'Users::initialize';
//$application->errorPresenter = 'Error';
//$application->catchExceptions = TRUE;
// Step 4: Setup application router
$router = $application->getRouter();
	$router[] = new Route('<presenter>/<action>/<id>', array(
		'presenter' => 'Default',
		'action' => 'default',
		'id' => NULL,
	));
// Step 5: Run the application!
$application->run();
?>

htaccess:

# disable directory listing
Options -Indexes

# mod_rewrite
<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>

Pokud smažu tu routu a htaccess, tak to funguje (jen bez cool url). Když dám jen samostatný hraccess a prázdný index do složky, tak to taky vyhodí 500. Netušíte, čím to je?

jann
Člen | 30
+
0
-

Takže to je tímto řádkem v htaccess:

Options -Indexes

Bez něj to vpohodě valí. Na hostingu Savana se ta vlastnost nastavuje v administraci a při nastavení v .htaccess to spadlo…

PetrP
Člen | 587
+
0
-

Chyba 500 vygenerovaná nette, ma v textu napsáno <hr>Nette Framework (ale až ve verzi 0.9) takže jí snadno odlišíš od apache 500.

kravčo
Člen | 721
+
0
-

Ak máš zapnutú vývojovú ladenku na ostrom serveri, chce to vypnúť catchExceptions, inak sa namiesto ladenky zobrazí Nette klon apačej hlášky 500 Internal Server Error… viac v ešte teplom FAQ

Cifro
Člen | 245
+
0
-

I ja pridám moju skúsenosť. Mne túto chybu zobrazovalo na produkčnom serveri kvoli tomu, že som mal preklep v názve adresáru sessions. Ale prečo mi to nezalogovalo do súboru keď som tam mal Debug::enable(true, "%logDir%/nette_error.log"); ?

Podľa toho FAQ som nastavil Debug::enable(false) a $application->catchExceptions = false; a hneď vybehol Debugger s tým že nevie nájsť session súbor, pretože som mal preklep v názve adresára.