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

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

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

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

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
odin
Člen | 50
+
0
-

Tak jsem na to prisel, na serveru nebylo nastaveno $_SERVER[‚REMOTE_ADDR‘]. Tj. reseni od iguana007 je zcela funkcni, diky.