Problém s callback funkcí na hostingu Active24  – Nette 2.0

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

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;  }
voda
Člen | 561
+
0
-

Chyba 500 je od Nette nebo od serveru? Co je v logu?

na1k
Člen | 288
+
0
-

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

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

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

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

The fifth parameter is disabled in SAFE MOD by mělo být v poslední revizi vyřešené.