في CodeIgniter, كيف يمكن أن لدي PHP رسائل الخطأ عبر البريد الالكتروني لي ؟

StackOverflow https://stackoverflow.com/questions/260597

سؤال

أود أن تتلقى خطأ سجلات عبر البريد الإلكتروني.على سبيل المثال ، إذا Warning-level رسالة الخطأ ينبغي أن تحدث ، أود أن الحصول على البريد الإلكتروني حول هذا الموضوع.

كيف يمكنني الحصول على هذا العامل في CodeIgniter?

هل كانت مفيدة؟

المحلول

هل يمكن تمديد الطبقة استثناء الأساسية للقيام بذلك.

وقد تضطر إلى ضبط إشارة إلى الدرجة البريد الإلكتروني CI، ولست متأكدا ما اذا كان يمكنك مثيل ذلك من مكتبة من هذا القبيل. أنا لا أستعمل الطبقة البريد الإلكتروني CI في نفسي، لقد تم استخدام مكتبة سويفت ميلر. ولكن هذا يجب أن تحصل على الطريق الصحيح.

تأكد من MY_Exceptions.php الملف ووضعه في / تطبيق / المكتبات / (أو في / تطبيق / الأساسية / لCI 2)

class MY_Exceptions extends CI_Exceptions {

    function __construct()
    {
        parent::__construct();
    }

    function log_exception($severity, $message, $filepath, $line)

    {   
        if (ENVIRONMENT === 'production') {
            $ci =& get_instance();

            $ci->load->library('email');
            $ci->email->from('your@example.com', 'Your Name');
            $ci->email->to('someone@example.com');
            $ci->email->cc('another@another-example.com');
            $ci->email->bcc('them@their-example.com');
            $ci->email->subject('error');
            $ci->email->message('Severity: '.$severity.'  --> '.$message. ' '.$filepath.' '.$line);
            $ci->email->send();
        }


        parent::log_exception($severity, $message, $filepath, $line);
    }

}

نصائح أخرى

الشيء الوحيد الذي تبقى من الحل هو أن لديك لانتزاع CodeIgniters سوبر كائن لتحميل واستخدام البريد الإلكتروني مكتبة (أو أي من CodeIgniters المكتبات الأخرى في وظائف الأم).

$CI =& get_instance();

بعد أن كنت قد فعلت ذلك يمكنك استخدام $CI بدلا من $this لتحميل البريد الإلكتروني مكتبة تعيين جميع المعلمات.للحصول على مزيد من المعلومات انقر هنا و انظر تحت استخدام CodeIgniter الموارد داخل المكتبة الخاصة بك القسم.

وأوه، هناك خيار آخر هو الحصول على تطبيق logrotation أن يدعم البريد الإلكتروني هضم. غير متأكد ما منصة كنت على، ولكن هل يمكن أن يكون مجرد شيء مراقبة ملف error_log ونرسل لك التحديثات، قد لا تكون نظيفة كما وبالتأكيد كنت ستقتصر على المعلومات الوحيدة في error_log. (error_log هو أباتشي، CI ديه / السجلات / مجلد في النظام، وIIS لديه ويندوز الأحداث)

وأنا على وشك الافراج عن مشروع مفتوح المصدر أن يفعل هذا، وأكثر من ذلك. تجمعها الأخطاء، يرسل لهم لتعقب المسألة، بالكشف عن التكرارات، تحولهم إلى قضايا ورسائل البريد الإلكتروني للموظفين.

والتفاصيل هي على https://sourceforge.net/news/؟group_id=317819&id=293422 ويرجع ذلك في بضعة أيام و النسخة 0.1.7 أنه يذكر.

وتعقب المصدر المفتوح هو في http://elastik.sourceforge.net/

وأي ملاحظات ترحيب، شكر

وأنا انشاء مشروع جيثب مفتوحة المصدر لتنفيذ هذا الحل مع شكلي معلمات البريد الإلكتروني.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top