Problém s callback funkcí na hostingu Active24 – Nette 2.0
- breeta
- Člen | 68
Zdravím, mám problém s callback na hostingu active24, při zavolání hodí chybu error 500 i když je zaplá laděnka viz kod níže. Nevíte čím to může být?
function createComponentNapiste() {
$form = new Form;
$form ->addText('jmeno', 'Vaše jméno: ', 50)->setRequired('vyplňte pole jméno!');
$form ->addText('mail', 'Vaše e-mail: ', 50)->addRule(Form::EMAIL, 'špatný e-mail!');
$form ->addText('telefon', 'Telefon: ', 50)->setRequired('vyplňte pole telefon!');
$form ->addText('predmet', 'Předmět: ', 50)->setRequired('vyplňte pole předmět!');
$form ->addTextArea('dotaz', 'Dotaz:', 50)->setRequired('vyplňte pole dotaz!');
$form->addImage('submit', 'img/odeslat.png');
$form->onSuccess[] = callback($this, 'FormSubmitted');
return $form;
}
function FormSubmitted($form) {
$values = $form->getValues();
$arr = array(
'jmeno' => $values['jmeno'],
'mail' => $values['mail'],
'telefon' => $values['telefon'],
'predmet' => $values['predmet'],
'dotaz' => $values['dotaz'], );
$mail = new Message;
$mail->setFrom($arr['mail'])
->addTo('xxx@xxxxx.cz')
->setSubject($arr['predmet'])
->setBody($arr['dotaz'])
->send();
$this->template->mail = TRUE; }
- na1k
- Člen | 288
Laděnka může být zaplá, ale v produkčním
režimu chyby loguje do souboru ve složce log
. Máš v té
složce nějaké výpisy?
Případně můžeš vnutit Laděnce vývojové prostředí pomocí
Debugger::enable(Debugger::DEVELOPMENT)
a ta bude potom vypisovat
chyby přímo do prohlížeče, jako to dělá na localhostu. Je ale potřeba po
odladění webu opět přepnout na produkční režim.
- breeta
- Člen | 68
na1k napsal(a):
Laděnka může být zaplá, ale v produkčním režimu chyby loguje do souboru ve složce
log
. Máš v té složce nějaké výpisy?Případně můžeš vnutit Laděnce vývojové prostředí pomocí
Debugger::enable(Debugger::DEVELOPMENT)
a ta bude potom vypisovat chyby přímo do prohlížeče, jako to dělá na localhostu. Je ale potřeba po odladění webu opět přepnout na produkční režim.
To mě právě nehlásilo nic ale v LOG složce je mail(): mail(): SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MOD
- nanuqcz
- Člen | 822
na1k napsal(a):
Případně můžeš vnutit Laděnce vývojové prostředí pomocí
Debugger::enable(Debugger::DEVELOPMENT)
a ta bude potom vypisovat chyby přímo do prohlížeče
Není potřeba ještě nastavit $application->catchExceptions
na FALSE? Před pár dny jsem to zkoušel a samotné
Debugger::enable(Debugger::DEVELOPMENT)
nestačilo.
- na1k
- Člen | 288
breeta napsal(a):
To mě právě nehlásilo nic ale v LOG složce je mail(): mail(): SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MOD
To snad mluví za vše, ne? Přečti si dokumentaci k funkci mail() a pochopíš, že při zapnutém SAFE MODE nelze použít pátý parametr této funkce.
Pokud se ti nepodaří přesvědčit hosting, aby SAFE MODE vypnuli, můžeš
si napsat vlastní triviální implementaci IMailer
u, která tento
parametr používat nebude. Nette SendmailMailer
jej totiž
používá.
Co se týče logu, tak ten se uložil do souboru kvůli produkčnímu módu, případně kvůli tomu, co píše xxxObiWan – pro detaily si přečti dokumentaci na kterou jsem odkazoval v minulém postu.
Editoval na1k (27. 7. 2011 12:20)
- David Grudl
- Nette Core | 8228
The fifth parameter is disabled in SAFE MOD by mělo být v poslední revizi vyřešené.