PHP - Pear:无法打开流

时间:2012-05-04 17:22:34

标签: php phpunit package pear include-path

我是PHP的新手,所以我现在已经开始使用Pear,我想使用PHPUnit和其他东西。

我遇到了一些错误,我一直在寻找互联网来解决它,我发现很多人都有同样的问题,但有不同的解决办法来修复它。 我想通过PHP发送一条消息并获得结果以查看它是否已成功发送,我一直在查看教程:http://www.youtube.com/watch?v=UH90nGNXab0

这是代码:

    <?php
require_once "Mail.php";
$from = "picnicrus.ahmadhammad@gmail.com";
$to = "ahmadnassr@gmail.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://smtp.gmail.com";//"smtp.gmail.com";
$port = "465";//"587";
$username = "picnicrus.ahmadhammad";
$password = "1234432112344321";
$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>");
}
?>

我一直收到此警告:require_once(Mail.php)[function.require-once]:无法打开流:第2行的C:\ wamp \ www \ MailSender \ MailSender.php中没有此类文件或目录< / p>

跟随此致命错误:require_once()[function.require]:在C中打开所需的'Mail.php'(include_path ='。; C:\ wamp \ bin \ php \ php5.3.10 \ pear')失败:第2行的\ wamp \ www \ MailSender \ MailSender.php

所以,我的结论是:

1)php中我的php.ini中的include路径是不正确的(include_path =“.; C:\ wamp \ bin \ php \ php5.3.10 \ pear”) 我在apache中的php.ini中的include_path也是(include_path =“.; C:\ wamp \ bin \ php \ php5.3.10 \ pear”) 所以我想知道这可能是错的吗?

2)或者包装没有正确安装,我已经下载了“Mail”,包含以下文件:mail.php,mime.php,mimePart.php,mock.php,null.php,RFC822.php,sendmail.php ,smtp.php,smtpmx.php。

该目录位于“C:\ wamp \ bin \ php \ php5.3.10 \ pear”中。

此致 Alexein

1 个答案:

答案 0 :(得分:2)

您是否安装了Mail包?这听起来像你手动下载文件。如果尚未安装软件包,请从命令提示符处运行以下命令:

pear install Mail

这应该将Mail包放入正确的pear library文件夹中,该文件夹应该已经在include_path中。