【发布时间】:2012-05-14 06:24:21
【问题描述】:
我对 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]: failed to open stream: No such file or directory in C:\wamp\www\MailSender\MailSender.php on line 2
随后出现此致命错误:require_once() [function.require]: Failed opening required 'Mail.php' (include_path='.;C:\wamp\bin\php\php5.3.10\pear') in C :\wamp\www\MailSender\MailSender.php 在第 2 行
所以,我的结论是:
1) php 中我的 php.ini 中的包含路径不正确(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.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”中。
问候 阿列克谢
【问题讨论】:
-
发帖时间可能有误。_。
-
当您在 Windows 上运行时,我不确定它是否会对您的直接问题产生任何影响,但您应始终确保以区分大小写的方式处理文件名,否则您将始终遇到问题在 Windows 以外的任何设备上运行。你说你有 mail.php 但包含 Mail.php 这绝对不能在 Linux 系统上工作,你需要包含 mail.php(小写)才能工作。
-
@Anigel:现在我尝试更改 require_once .. 我更改为 C:\wamp\bin\php\php5.3.10\pear\Mail\mail.php mail.php 在哪里实际的 php 文件并得到:致命错误:在 C:\wamp\bin\php\php5.3.10\pear\Mail\mail.php 中找不到类“邮件”
-
当我刚刚在我的系统 (linux) 上安装了该软件包时,mail.php 上方的文件夹中有一个 Mail.php,看看你是否有该文件,如果有,请放置完整路径到您要求中的该文件,因为听起来您的包含路径可能是错误的
标签: php phpunit package pear include-path