2014-09-24 15 views
11

Ich benutze SwiftMailer, um E-Mails per SMTP zu senden. Die Bibliothek funktioniert einwandfrei, wenn sie auf dem Server mit PHP Version 5.4 ausgeführt wird. Doch nach dem Server PHP-Version 5.5 aktualisieren, E-Mail wurde nicht gesendet, und der Server hat den folgenden Fehler:

Undefined property: Swift_Transport_StreamBuffer::$_sequence 

Wie kann ich dieses Problem beheben? Vielen Dank. wie unten gezeigt

öffnen lib/classes/Swift/Transport/StreamBuffer.php

hinzufügen privaten _sequence $ in der Klasse

:

+0

Bitte beachten Sie auch sagen, welche Version von Swiftmailer, der ist bezüglich. Bitte überprüfen Sie auch, ob ein Fehlerbericht existiert und falls nicht, erstellen Sie einen Fehlerbericht. Dann referenziere das mit deiner Antwort. – hakre

+0

Problem wurde gemeldet Aug 2013 - https://github.com/swiftmailer/swiftmailer/issues/361 - Also keine Notwendigkeit, es zu melden. Es ist auch nicht notwendig, einen Patch * zur Verfügung zu stellen, wenn Sie eine veraltete Swiftmailer-Bibliothek verwenden. ** Welche Version ist das? ** – hakre

Antwort

3

ich das Problem gelöst haben, indem Sie die folgenden Aktionen ausführen

class Swift_Transport_StreamBuffer extends Swift_ByteStream_AbstractFilterableInputStream implements Swift_Transport_IoBuffer 
{ 
    private $_sequence; /** added to fix the undefined property error **/ 

    /** A primary socket */ 
    private $_stream; 

    /** The input stream */ 
    private $_in; 
... 
20

In swift-mailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php Änderung

private $_sequence = 0; 

zu

protected $_sequence = 0; 

Dann geht die Botschaft entfernt.

Ich muss eine andere Version von Swiftmailer verwenden als Sie in dem Legacy-Projekt Ich habe die genau gleiche Fehlermeldung. Mein Swift::VERSION ist 4.1.1.

+2

Wie Sie in den Kommentaren lesen können, wird in neueren Versionen von Swiftmailer die Variable genau so geändert, wie hakre hier beschreibt: https://github.com/swiftmailer/swiftmailer/issues/ 361 – Daan

+0

genial fix, es hat perfekt funktioniert – Kruser

+0

Das hat für mich funktioniert. Vielen Dank – Wahome

0

Die Änderung hat in beiden getan werden diese Dateien:

  • swift-Mailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php
  • lib/classes/Swift/Transport/StreamBuffer.php

Nach nur einem Wechsel habe ich dieses:

PHP Fatal error: Access level to Swift_Transport_StreamBuffer::$_sequence must be protected (as in class Swift_ByteStream_AbstractFilterableInputStream) or weaker in /opt/viptel/recorder/lib/classes/Swift/Transport/StreamBuffer.php on line 20

Verwandte Themen