Jak zapnout development mod na serveru?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- odin
- Člen | 50
Jak zapnout development mod na serveru?
Zkousel jsem:
Debug::enable(‚ip_adresa_serveru‘);
Debug::enable(Debug::DEVELOPMENT);
Environment::setMode(‚development‘, true);
$application->catchExceptions = false;
a porad koncim s tim, ze mi ladenka napise Server Error a vyjimky ulozi do logu. Ale ja bych je docela rad videl na obrazovce jako na lokale.
- iguana007
- Člen | 970
U mě funguje toto:
$debugArray = array(
//array s IP adresami, kde chci mit default Debug mode
);
if (!in_array($_SERVER['REMOTE_ADDR'], $debugArray)) {
Debug::enable(Debug::PRODUCTION,NULL,'muj@email.com');
} else {
Debug::enable(Debug::DEVELOPMENT);
Environment::setVariable('debugMode', TRUE);
}
Environment::loadConfig();
$application = Environment::getApplication();
$application->errorPresenter = 'Front:Error';
if (!in_array($_SERVER['REMOTE_ADDR'], $debugArray)) {
$application->catchExceptions = TRUE;
} else {
$application->catchExceptions = FALSE;
}
Editoval iguana007 (9. 7. 2010 10:34)
- odin
- Člen | 50
Diky, zkusil jsem, ale nic. Resp. ted to ukaze uz jen bilou stranku. Logovani funguje porad ok, ale nezobrazi se to uzivateli.
Cely bootstrap:
<?php
require LIBS_DIR . '/Nette/loader.php';
$debugArray = array (
'127.0.0.1', '192.168.1.123', 'xxx'
);
if (!in_array($_SERVER['REMOTE_ADDR'], $debugArray)) {
Debug::enable(Debug::PRODUCTION, null, 'email@example.com');
} else {
Debug::enable(Debug::DEVELOPMENT);
Environment::setVariable('debugMode', true);
}
Environment::loadConfig();
if (!Environment::isProduction()) {
Debug::enableProfiler();
}
ignore_user_abort(true);
ini_set('pcre.backtrack_limit', 50000000);
$application = Environment::getApplication();
$application->errorPresenter = 'Error';
if (!in_array($_SERVER['REMOTE_ADDR'], $debugArray)) {
$application->catchExceptions = true;
} else {
$application->catchExceptions = false;
}
$router = $application->getRouter();
$router[] = new Route('index.php', array(
'presenter' => 'Sites',
'action' => 'list',
), Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>/<id>', array(
'presenter' => 'Sites',
'action' => 'list',
'id' => NULL,
));
dibi::connect(Environment::getConfig('database'));
if (dibi::getProfiler() && !Environment::isProduction()) {
dibi::getProfiler()->setFile(Environment::expand('%logDir%') . '/sql.log');
}
$application->run();
?>
- mprokes
- Člen | 10
Já používám něco takového:
<?php
Environment::setName(Environment::DEVELOPMENT);
Environment::loadConfig();
$mode = Environment::isProduction() ? Debug::PRODUCTION : Debug::DEVELOPMENT;
debug::enable($mode);
debug::enableProfiler();
?>
a v config.ini samozřejmě:
[production < common]
mode.production = true
mode.debug = false
database.profiler = false
[development < production]
mode.production = false
mode.debug = true
database.profiler = true