使用PHP、PEAR发送电子邮件时出错

使用PHP、PEAR发送电子邮件时出错,php,pear,Php,Pear,我在服务器上安装了Pear,然后安装了邮件和SMTP组件。然后,我将php.ini文件更新为“include_path=“.C:\wamp\bin\php\php5.4.3\pear”,因为那是Mail.php所在的位置 Warning: require_once(Mail.php): failed to open stream: No such file or directory in C:\wamp\www\email.php on line 3 以及: 我对PHP非常陌生,上周之前我甚至

我在服务器上安装了Pear,然后安装了邮件和SMTP组件。然后,我将php.ini文件更新为“include_path=“.C:\wamp\bin\php\php5.4.3\pear”,因为那是Mail.php所在的位置

Warning: require_once(Mail.php): failed to open stream: No such file or directory in C:\wamp\www\email.php on line 3
以及:

我对PHP非常陌生,上周之前我甚至从未听说过pear,因为我通常会安装exchange服务器。如果有任何帮助,我将不胜感激。下面是测试脚本

<?php

 require_once "Mail.php";
 $from = "Ty Jacobs <FROM_EMAIL>";
 $to = "Ty Jacobs <TO_EMAIL>";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";

 $host = "ssl://smtp.bizmail.yahoo.com";
 $port = "465";
 $username = "MYUSERNAME";
 $password = "MYPASSWORD";

 $headers = array ('From' => $from,
   'To' => $to,
   'Subject' => $subject);
 $smtp = Mail::factory('smtp',
   array ('host' => $host,
     'port' => $port,
     'auth' => true,
     'username' => $username,
     'password' => $password));

 $mail = $smtp->send($to, $headers, $body);

 if (PEAR::isError($mail)) {
   echo("<p>" . $mail->getMessage() . "</p>");
  } else {
   echo("<p>Message successfully sent!</p>");
  }
 ?>

更改后是否重新启动了WAMP web服务器?修改
php.ini
后忽略重新启动服务器通常是您会遇到此类问题的原因,因为在重新启动web服务器之前,配置更改不会被读入

 (include_path='.;C:\php\pear')
根据这一点,您的pear文件夹在php.ini中设置不正确。您重新启动服务器了吗

顺便说一下,您在包含路径字符串中忘记了分号。它应该是:

.;C:\wamp\bin\php\php5.4.3\pear

我确实重新启动了服务。我在php.ini的pth中也有分号。我在上面添加了分号,以便您可以确切地看到我是如何添加到.ini的。然后,您编辑了错误的php.ini文件。请使用
phpconfig()
以获取真实的php.ini文件位置。此外,可能php.ini中还有更多的include\u路径定义,这也可能是问题所在。Hast,你是对的。该服务器已运行2年,除了更新Apache、MySQL和php之外,没有任何更改。我发现了4个不同的php.ini文件。感谢大家的帮助。
 (include_path='.;C:\php\pear')
.;C:\wamp\bin\php\php5.4.3\pear