使用PHP、PEAR发送电子邮件时出错
我在服务器上安装了Pear,然后安装了邮件和SMTP组件。然后,我将php.ini文件更新为“include_path=“.C:\wamp\bin\php\php5.4.3\pear”,因为那是Mail.php所在的位置使用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非常陌生,上周之前我甚至
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