2017-07-05 69 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); 

都使用一个接一个。

相关问题