【问题标题】:PHP - Pear: failed to open streamPHP - Pear:无法打开流
【发布时间】: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


【解决方案1】:

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

pear install Mail

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

【讨论】:

    猜你喜欢
    • 2011-08-16
    • 2019-12-03
    • 2020-07-27
    • 2012-08-04
    • 1970-01-01
    • 2018-01-13
    • 2018-11-21
    • 1970-01-01
    相关资源
    最近更新 更多