Примечание. Хотя некоторые из вас, похоже, думают иначе, это не дубликат ошибки почтового сообщения PHP: PEAR . Этот вопрос задает вопрос о том, как подавлять строгие извещения, которые мне нелегко делать. Мой вопрос относится к поведению позже (окончательный вызов error_reporting
в конце моего кода) после того, как я вернусь к сообщению об ошибках.
Я отправляю почту с расширением почтовой почты php. Чтобы избежать строгих уведомлений, возникающих при вызове его функций, я отключу отчет об ошибках при использовании. Однако после того, как я вернусь к строгой отчетности об ошибках, сообщаются уведомления, которые были устранены.
Вот код:
<?php include_once "Mail.php"; /*from pear.php.net*/ error_reporting(E_ERROR); $from = "some@emailaddress"; $to = "another@emailaddress"; $subject = "test email"; $body = "body of email"; $headers = array ( "From" => $from, "To" => $to, "Subject" => $subject); $smtp = Mail::factory("smtp", array ( "host" => "badhost", "port" => "badport", "auth" => true, "username" => "baduser", "password" => "badpw")); $mail = $smtp->send($to, $headers, $body); /*if this line is commented out "goodbye" is all that is returned. if it is left in, the return is "goodbye" followed by three "strict standards" notices*/ error_reporting(E_ALL); die("goodbye"); ?>
Это отягчает больше всего. Возможно, методы разрушения Груши поднимают уведомления.
Любые идеи о том, как заставить их не появляться, когда можно снова включить полную отчетность об ошибках?
Сообщение, подобное этому, возникает три раза:
Строгие стандарты: нестатический метод PEAR :: isError () не следует вызывать статически, предполагая $ this из несовместимого контекста в C: \ wamp \ bin \ php \ php5.4.3 \ pear \ Net \ SMTP.php в строке 491