2014-09-24 12 views
11

मैं एसएमटीपी द्वारा ईमेल भेजने के लिए स्विफ्टमेलर का उपयोग कर रहा हूं। PHP संस्करण 5.4 के साथ सर्वर में चलते समय लाइब्रेरी ठीक काम कर रही है। हालांकि, PHP संस्करण 5.5 करने के लिए सर्वर अपग्रेड करने के बाद, ईमेल नहीं भेजा गया था और सर्वर ने निम्न त्रुटि फेंक दिया:

Undefined property: Swift_Transport_StreamBuffer::$_sequence 

मैं कैसे इस समस्या को हल कर सकते हैं? धन्यवाद।

+0

कृपया यह भी है कि Swiftmailer का कौन सा संस्करण का कहना है, से संबंधित। कृपया जांचें, अगर कोई बग-रिपोर्ट मौजूद है और यदि कोई नहीं बना है। फिर अपने उत्तर के साथ संदर्भ। – hakre

+0

अगस्त 2013 को जारी किया गया था - https://github.com/swiftmailer/swiftmailer/issues/361 - इसलिए इसकी रिपोर्ट करने की कोई आवश्यकता नहीं है। पैच * अगर * आप पुरानी स्विफ्टमेलर लाइब्रेरी का उपयोग करते हैं तो भी प्रदान करने की आवश्यकता नहीं है। ** इसके बारे में कौन सा संस्करण है? ** – hakre

उत्तर

3

मैं निम्न कार्य करके समस्या सुलझा ली है:

ओपन lib/वर्गों/स्विफ्ट/परिवहन/StreamBuffer.php

निजी $ _sequence कक्षा में जोड़े के रूप में नीचे दिखाया गया है:

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

swift-mailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php परिवर्तन में

private $_sequence = 0; 

protected $_sequence = 0; 

को फिर संदेश चला जाता है।

मुझे विरासत परियोजना में आपके से स्विफ्टमेलर के एक अलग संस्करण का उपयोग करना होगा, मुझे सटीक त्रुटि नोटिस मिला है। मेरा Swift::VERSION4.1.1 है।

+2

जैसा कि आप टिप्पणियों में पढ़ सकते हैं, स्विफ्टमेलर के नए संस्करणों में वैरिएबल को जिस तरह से यहां वर्णित किया गया है वैरिएबल बदल दिया गया है: https://github.com/swiftmailer/swiftmailer/issues/ 361 – Daan

+0

भयानक फिक्स, यह पूरी तरह से काम किया – Kruser

+0

यह मेरे लिए काम किया। धन्यवाद – Wahome

0

परिवर्तन दोनों में किया जाना इन फ़ाइलों है:

  • तेज-मेलर/वर्गों/स्विफ्ट/ByteStream/AbstractFilterableInputStream.php
  • lib/वर्गों/स्विफ्ट/परिवहन/StreamBuffer.php

केवल एक ही बदलने के बाद मुझे मिल गया इस:

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

संबंधित मुद्दे