2017-07-05 67 views
0

我有Magento 1.9.3.2版本。當用戶想要註冊時,它會生成一個內部服務器錯誤(HTTP錯誤代碼500)。用戶做不是收到電子郵件,但他已註冊Magento 1.9在用戶嘗試註冊時拋出500錯誤

如果我重新加載頁面,它會顯示消息「感謝您註冊」並且帳戶頁面已打開。

我檢查了Magento和Apache的日誌 - 沒有任何內容。

有人有想法如何解決這個問題?

更新。 我在index.php文件中打開了display_errors。我得到的消息:

[05-Jul-2017 09:09:01 UTC] PHP致命錯誤:在/ home/some/public_html/some/app/code/community中調用成員函數getPayment()null /Fooman/EmailAttachments/Model/Core/Email/Template/Mailer.php在線路34上

這條線34是這樣的: $ PAYMENTMETHOD = $這 - > getTemplateParams()[ '順序'] - > getPayment() - >的getData( 「方法」);

因此,似乎有一個塊「Fooman」試圖在未初始化時使用該類的實例。

有人知道這個擴展Fooman的一些情況嗎?

更新。 似乎問題已通過此代碼解決。爲了註冊,我檢查用戶是否有類的實例,如果他沒有它,我使用標準模板。

//here check if have instance of class 
      if (isset($this->getTemplateParams()['order'])) 
      { 
       //here 34 string where error occure 
       $paymentMethod = $this->getTemplateParams()['order']->getPayment()->getData("method"); 

       if ($this->getTemplateId() == '1') { 
        switch($paymentMethod) { 
         case 'banktransfer': 
          $templateId = 9; 
          break; 

         case 'paypal_express': 
          $templateId = 8; 

         default: 
          $templateId = $this->getTemplateId(); 
          break; 
        } 
       } else { 

        $templateId = $this->getTemplateId(); 
       } 
      } 
      else { 
       $templateId = $this->getTemplateId(); 
      } 
+0

從index.php的un-comment顯示錯誤並再次測試可能會出現錯誤 –

回答

0

時未找到文件Emogrifier.php以下路徑

Magento的根/ lib目錄/佩拉戈/ Emogrifier.php

檢查該文件存在與否,如果它不存在,然後從下載一些時間新鮮的magento,並把它放在那裏。

清除緩存並嘗試。

+0

文件存在,沒關係。 –

0

如果您得到內部服務器錯誤500,那麼您必須啓用顯示錯誤。

轉到index.php和替換代碼

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { 
    Mage::setIsDeveloperMode(true); 
} 
with Mage::setIsDeveloperMode(true); 

and use ini_set('display_errors', 1); 

都使用一個接一個。

相關問題