【问题标题】:Fatal error: Cannot redeclare class Swift Kohana Framework Email Swiftmailer致命错误:无法重新声明类 Swift Kohana 框架电子邮件 Swiftmailer
【发布时间】:2014-07-25 19:01:56
【问题描述】:

我将 Kohan 电子邮件模块从 http://github.com/banks/kohana-email 安装到我的 Kohana 框架字中,当我尝试在我的网站上注册时,我遇到以下问题:

Fatal error: Cannot redeclare class Swift in 
C:\xampp\htdocs\biblioteka\modules\email\vendor\swift\classes\Swift.php on line 29

我使用以下代码发送电子邮件:

Email::send('example1@gmail.com', 'example2@gmail.com', 'tittle', 'content');

require Kohana::find_file('vendor', 'swift/swift_required', 'php');
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Email')
        ->setFrom(array('example1@gmail.com' => 'From'))
        ->setTo(array('example2@gmail.com'))
        ->setBody('An email');
$result = $mailer->send($message);

两个代码都有同样的问题。

【问题讨论】:

    标签: php email frameworks kohana swiftmailer


    【解决方案1】:

    您不应直接包含供应商目录中的任何 swift 文件,或实例化任何 swift 类。

    只要您的bootstrap.php 文件中有以下行,电子邮件模块就会从供应商目录中包含必要的文件。

    Kohana::modules(array(
        // Other modules here...
        'email'      => MODPATH.'email',         // Email
    ));
    

    您收到错误消息的原因是您已经声明了 swift,因为您已经声明了(通过电子邮件模块)。

    然后您只需使用您的第一个示例发送电子邮件(仅限Email 类):

    Email::send('example1@gmail.com', 'example2@gmail.com', 'tittle', 'content');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 2014-11-07
      • 2012-07-31
      • 2016-03-25
      • 2017-01-21
      • 1970-01-01
      相关资源
      最近更新 更多