ERRNO: 8192 posta göndermeye çalışırken

1 Cevap php

Ben herhangi bir boş php sayfası koymak çalışır aşağıdaki kodu var, ama ben zaten bazı kodları var burada başka bir php sayfasında kod koymak çalıştığınızda, ben hatayı alıyorum:

ERRNO: 8192
TEXT: Assigning the return value of new by reference is deprecated
LOCATION: C:\xampp\php\PEAR\Mail.php, line 154,
 include('Mail.php');
        $mail = Mail::factory("mail");

        $headers = array("From"=>"xyz@gmail.com", "Subject"=>"Your order has been placed   ");
        $body = "lol";
        $mail->send("abc@live.com", $headers, $body);

1 Cevap

Muhtemelen PEAR eski bir sürümü :: Posta var. Mevcut kararlı sürüm 1.2.0 sürümü 1.1.14 önce, son kararlı sürümü olabilir.

Denemek

pear channel-update pear.php.net
pear upgrade Mail

son sürümünü almak için.


edit: Bu aslında cevabın bir parçası değil, bir açıklama uymuyor ya:

Hata ayıklama amaçları ile armut / mail.php 'yi de fabrika işlevini yerine için

function &factory($driver, $params = array())
{
  $driver = strtolower($driver);
  echo '<pre>Debug: driver=', $driver, "</pre>\n";
  echo '<pre>Debug: include_path=', get_include_path(), "</pre>\n";
  echo '<pre>Debug: cwd=', getcwd(), "</pre>\n";
  echo '<pre>Debug: __FILE__=', __FILE__, "</pre>\n";

  require_once 'Mail/' . $driver . '.php';
  $class = 'Mail_' . $driver;
  if (class_exists($class)) {
    $mailer = new $class($params);
    return $mailer;
  }
  else {
    throw new Exception('Unable to find class for driver ' . $driver);
  }
}