Server Error 500 – Endora.cz
- Grelek
- Člen | 233
Zdravím, mám asi známý problém.
Na localhostu jsem si vše naprogramoval, funguje to krásně.
Připravím aplikaci na server Endory a ejhle, najednou mi tam vyskočí Server
Error 500.
V bootstrap.php
jsem si nastavil laděnku do vývojového
režimu, takže by se měla chovat jako na localhostu, ale nic se neděje.
Editoval Grelek (21. 6. 2012 13:31)
- mav
- Člen | 12
Problém bude možná vážnější. Podívej se na http://podpora.endora.cz/viewtopic.php?…. Instalovali php 5.3.13 a vypadá to, že ne úplně úspěšně. Přestaly fungovat anonymní funkce. Včera mi přestaly fungovat oba weby, co u nich mám. Mám v error.log: „call_user_func() expects parameter 1 to be a valid callback“. Na lokále vše funguje.
Editoval mav (23. 5. 2012 22:22)
- mav
- Člen | 12
Do včerejška mi oba dva weby na Endoře fungovaly. Bez jakékoliv změny programu nebo nastavení prostě přestaly fungovat. Zřejmě to bude opravdu tou instalací nové verze php.
Kromě té chyby 500, co má Grelek, mám zprávu v error.log uvedenou výše. Soubor exception-x-y-z.html, kam se mi zapisuje laděnka, je prázdný.
Editoval mav (23. 5. 2012 23:59)
- Ascaria
- Člen | 187
Doporučuju jako první zkontrolovat práva zápisu do složek temp a log.
Pak se můžem podívat na nějaké z těchto možností, mixnout je, nebo je použít všechny:
.htaccess
# po tomto se zacala trvale zobrazovat Laděnka, tj. bez Error 324
php_flag allow_call_time_pass_reference ON
# eaccelerator zpusobuje na nekterych hostinzich problemy
php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
a taky zapnout debug mod, aby to nepsalo error 500:
bootstrap.php (pokud máš nejnovější nette, tak je to nějak takle)
$configurator->setDebugMode(true);
$configurator->enableDebugger(__DIR__.'/../log', 'e@mail.cz');
Pak mrknem co ti to bude psát až vyskočí laděnka.
Editoval Ascaria (24. 5. 2012 8:31)
- Grelek
- Člen | 233
a taky zapnout debug mod, aby to nepsalo error 500:
bootstrap.php (pokud máš nejnovější nette, tak je to nějak takle)
$configurator->setDebugMode(true); $configurator->enableDebugger(__DIR__.'/../log', 'e@mail.cz');
Můj bootstrap.php
vypadá takhle:
$configurator->setProductionMode($configurator::DEVELOPMENT);
$configurator->enableDebugger(__DIR__ . '/../log');
- Majkl578
- Moderator | 1364
Grelek napsal(a):
a taky zapnout debug mod, aby to nepsalo error 500:
Můj
bootstrap.php
vypadá takhle:$configurator->setProductionMode($configurator::DEVELOPMENT); $configurator->enableDebugger(__DIR__ . '/../log');
Tak to ho máš špatně. Metoda setProductionMode
očekává
boolean / řetězec/pole IP adres, $configurator::DEVELOPMENT
je
string ‚development‘.
Ascaria napsal(a):
.htaccess
# po tomto se zacala trvale zobrazovat Laděnka, tj. bez Error 324 php_flag allow_call_time_pass_reference ON
Zcela jistě Nette tuto vlastnost nevyžaduje. V PHP 5.4 je mimochodem z PHP úplně odstraněna.
- mav
- Člen | 12
U mne byl debug mod zapnutý, laděnka se do logu zapisovala až do 21.5.2012. Weby mi fungovaly. Až po té nové instalaci php na Endoře mi weby nefungují, laděnka se do logu nezapisuje, jen v error logu je „call_user_func() expects parameter 1 to be a valid callback“ a ve fóru na Endoře se někdo ozval, že má problémy, které předtím neměl: přestaly fungovat anonymní funkce. Já je nemám použity, tak proto ten můj dotaz, jestli je používá přímo Nette.
Přesto zkouším i doporučení na doplnění .htaccess. Nepomohlo, přesto děkuji.
- Ascaria
- Člen | 187
Grelek napsal(a):
Můj
bootstrap.php
vypadá takhle:$configurator->setProductionMode($configurator::DEVELOPMENT); $configurator->enableDebugger(__DIR__ . '/../log');
Asi ti nepomůžu moc, ale string ‚development‘ který se skrývá pod $configurator::DEVELOPMENT se při přetypování na boolean změní na true, takže web neběží v development mode ale na ostro, proto máš error 500 a ne výpis laděnky.
K Endoře snad jen to, že pokud to tam neopravěj a sami sebe přesvědčej, že je to bezpečnostní fíčura, tak změnit hosting :(
Editoval Ascaria (24. 5. 2012 15:07)
- Grelek
- Člen | 233
Majkl578 napsal(a):
Grelek napsal(a):
a taky zapnout debug mod, aby to nepsalo error 500:
Můj
bootstrap.php
vypadá takhle:$configurator->setProductionMode($configurator::DEVELOPMENT); $configurator->enableDebugger(__DIR__ . '/../log');
Tak to ho máš špatně. Metoda
setProductionMode
očekává boolean / řetězec/pole IP adres,$configurator::DEVELOPMENT
je string ‚development‘.Ascaria napsal(a):
.htaccess
# po tomto se zacala trvale zobrazovat Laděnka, tj. bez Error 324 php_flag allow_call_time_pass_reference ON
Zcela jistě Nette tuto vlastnost nevyžaduje. V PHP 5.4 je mimochodem z PHP úplně odstraněna.
A jak mám tedy bootstrap.php
nastavit?