2014-09-24 23 views
11

SMTP tarafından e-posta göndermek için SwiftMailer kullanıyorum. Kütüphane, PHP sürümü 5.4 ile sunucuda çalışırken iyi çalışıyor. Ancak, PHP sürüm 5.5 için sunucuyu yükselttikten sonra, e-posta gönderilmedi ve Sunucu şu hatayı attı:

Undefined property: Swift_Transport_StreamBuffer::$_sequence 

Bu sorunu nasıl çözebilirim? Teşekkürler.

+0

da olduğunu SwiftMailer hangi sürümünü, söyle ile ilgili. Ayrıca bir hata raporu varsa ve bir tane oluşturmazsanız lütfen kontrol edin. Ardından cevabınıza başvurunuz. – hakre

+0

Yayımlanma tarihi bildirildi Ağustos 2013 - https://github.com/swiftmailer/swiftmailer/issues/361 - Bu yüzden bunu rapor etmeye gerek yok. Ayrıca bir yama sağlamaya da gerek yok * eğer * eski bir Swiftmailer kütüphanesi kullanıyorsunuz. ** Bu sürümle ilgili hangi sürüm var? ** – hakre

cevap

3

ben aşağıdakileri yaparak sorunu çözdüm: aşağıda gösterildiği gibi

Açık lib/sınıfları/Swift/Taşıma/StreamBuffer.php

sınıfta özel $ _sequence ekleyin:

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

değişiklik swift-mailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php yılında

private $_sequence = 0; 

protected $_sequence = 0; 

için Ardından mesajı kaybolur.

Eski bir projede Swiftmailer uygulamasının farklı bir sürümünü kullanmam gerekiyor, aynı hata bildirimini aldım. Benim Swift::VERSION, 4.1.1.

+2

Yorumlarda okuyabileceğiniz gibi, Swiftmailer'ın daha yeni sürümlerinde değişken, tam olarak burada tanımlandığı şekilde değiştirildi: https://github.com/swiftmailer/swiftmailer/issues/ 361 – Daan

+0

Harika düzeltme, mükemmel çalıştı – Kruser

+0

Bu benim için çalıştı. Teşekkürler – Wahome

0

değişiklik bu dosyalar hem de yapılmalıdır:

  • hızlı-mailler/sınıfları/Swift/Bytestream/AbstractFilterableInputStream.php
  • lib/sınıfları/Swift/Taşıma/StreamBuffer.php

tek değiştirdikten sonra aldığım bu:

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

İlgili konular