$configurator->createRobotLoader() Error 500

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

Ahoj,
přesunul jsem se s vývojem aplikace z Win na Ubuntu. Práva na složky, .htaccess, rewrite mám nastavený, ale při spuštění aplikace mi končí s E500 na tomto kódu v bootstrap.php

$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();

Už mi došli nápady kde by mohla být chyba, poradí někdo?

Jan Endel
Člen | 1016
+
0
-

a ve složce log není nic co by napovědělo více?

plasmo
Člen | 66
+
0
-

pilec napsal(a):

a ve složce log není nic co by napovědělo více?

Bohužel, ta je prázdná.

Jan Endel
Člen | 1016
+
0
-

a určitě je tedy nad ní nastena práva 777?

plasmo
Člen | 66
+
0
-

pilec napsal(a):

a určitě je tedy nad ní nastena práva 777?

Ano, práva jsou 777, když nebyli laděnka házela chybu.

vvoody
Člen | 910
+
0
-

A pri tejto chybe sa ladenka zobrazuje? Ak ano, co sa v nej pise?

plasmo
Člen | 66
+
0
-

vvoody napsal(a):

A pri tejto chybe sa ladenka zobrazuje? Ak ano, co sa v nej pise?

Ne, vůbec nic, E500 a to je všechno …

LeonardoCA
Člen | 296
+
0
-

zkus se podivat jeste do hlavniho php logu, pravdepodobne /var/log/apache2/error.log, kdyby ne tak pres phpinfo() zjistis, kde je

Jan Endel
Člen | 1016
+
0
-

Jo to je docela podstatná informace, vyhazuje 500 Apache nebo Nette?

plasmo
Člen | 66
+
0
-

V logu php je jen

[Sun Jun 17 15:21:06 2012] [error] [client ::1] PHP Fatal error:  require(): Failed opening required '/var/www/erp/aplikace/www/../libs/Nette/loader.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/erp/aplikace/app/bootstrap.php on line 9

A to v tu dobu jsem testoval smazat Nette framework.

Bootstrap.php

<?php
/**
 * My Application bootstrap file.
 */
use Nette\Application\Routers\Route;
use Nette\Forms;

// Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';
// Configure application
$configurator = new Nette\Config\Configurator;

// Enable Nette Debugger for error visualisation & logging
//$configurator->setProductionMode($configurator::AUTO);
$configurator->enableDebugger(__DIR__ . '/../log');

// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory(__DIR__ . '/../temp');

$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();**

// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();

function Form_addDateTimePicker(Forms\Form $_this, $name, $label, $cols = NULL, $maxLength = NULL)
{
  return $_this[$name] = new Nette\Extras\DateTimePicker($label, $cols, $maxLength);
}

Forms\Form::extensionMethod('addDateTimePicker', 'Form_addDateTimePicker');
Kdyby\Forms\Containers\Replicator::register();

// Setup router
$container->router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$container->router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

// Setup database
dibi::connect($container->params['database']);

// Configure and run the application!
$container->application->run();

Když smažu $configurator->createRobotLoader() … tak vyskočí laďenka Nette že se nepodařilo nahrát třídu ACL …

fr
Člen | 8
+
0
-

plasmo napsal(a):

Bootstrap.php

<?php
/**
 * My Application bootstrap file.
 */

...
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();**

** jsou jen v tomto výpisu, nebo i v kódu ?

plasmo
Člen | 66
+
0
-

fr napsal(a):

plasmo napsal(a):

Bootstrap.php

<?php
/**
 * My Application bootstrap file.
 */

...
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();**

** jsou jen v tomto výpisu, nebo i v kódu ?

Jen v tomto výpisu

LeonardoCA
Člen | 296
+
0
-

A už ti to funguje? Log php říká jasně kde je problém. Možná máš problém v nastavení práv/vlastníka adresářů/souborů projektu vůčí uživateli pod kterým běží Apache.

plasmo
Člen | 66
+
0
-

LeonardoCA napsal(a):

A už ti to funguje? Log php říká jasně kde je problém. Možná máš problém v nastavení práv/vlastníka adresářů/souborů projektu vůčí uživateli pod kterým běží Apache.

Nefunguje a do logu už to taky nic nehází

klip
Člen | 11
+
0
-

Zkus zkontrolovat práva všech adresářu po cestě od kořene file systému až k tomu loaderu.

Uživatel, pod kterým apache běží, musí mít tuším práva +x pro průchod na všech úrovních.

Buď povol +x všem a nebo nastav všemu po cestě skupinu, pod kterou běží apache, a nastav to +x na to. To je možná bezpečnější trochu, ale je s tím trochu víc práce to udržovat.