Skece [console] v config.ini?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Martin Mates
- Člen | 179
Zdravím. Napsal jsem skript, který stojí sám o sobě a spouští ho cron. Tento skript je vyloučen z webového adresáře. Upozorňuji, že tomu moc nerozumím. Skript jsem odladil ve webovém adresáři, ale když ho dám o adresář výš a spouští ho cron, tak to hází následující chybu:
PHP Fatal error: Uncaught exception 'InvalidStateException' with message 'There is not section [console] in '/data/cz/webdeal/wwwroot/cron/../www/app/config.ini'.' in /data/cz/webdeal/wwwroot/www/libs/Nette/Config/ConfigAdapterIni.php:147
Stack trace:
#0 [internal function]: ConfigAdapterIni::load('/data/cz/webdea...', 'console')
#1 /data/cz/webdeal/wwwroot/www/libs/Nette/Config/Config.php(82): call_user_func(Array, '/data/cz/webdea...', 'console')
#2 /data/cz/webdeal/wwwroot/www/libs/Nette/Configurator.php(126): Config::fromFile('/data/cz/webdea...', 'console', 0)
#3 /data/cz/webdeal/wwwroot/www/libs/Nette/Environment.php(462): Configurator->loadConfig(NULL)
#4 /data/cz/webdeal/wwwroot/cron/Cron2.php(14): Environment::loadConfig()
#5 {main}
thrown in /data/cz/webdeal/wwwroot/www/libs/Nette/Config/ConfigAdapterIni.php on line 147
Ještě část uvedeného skriptu Cron2.php:
<?php
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__) . '/../www');
// 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');
// Nette loader
require_once LIBS_DIR . '/Nette/loader.php';
Environment::loadConfig();
$loader = new RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->register();
dibi::connect(Environment::getConfig('database'));
...
?>
Hádám, že je problém způsoben tím, že se skript volá z konzole. Chce to v config.ini sekci [console], buhužel netuším. Nevíte někdo? Může to vůbec fungovat?
- Martin Mates
- Člen | 179
Taky mě to napadlo, ale říkal jsem si, že tam bude asi třeba něco nastavit. Zkusím to, jak říkáš. Každopádně díky!