500 – Chyba serveru! Na localhostu vše ok
- jann
- Člen | 30
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?
- Cifro
- Člen | 245
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.