PHP - Pear: не удалось открыть поток

Я новичок в PHP, поэтому теперь я начал использовать Pear там, где хочу использовать PHPUnit и другие вещи.

Я столкнулся с некоторыми ошибками, я искал в Интернете, чтобы решить эту проблему, я понял, что у многих людей была такая же проблема, но были разные решения для ее решения. Я хочу отправить сообщение через PHP и получить результат, чтобы узнать, было ли оно успешно отправлено. Я просмотрел руководство: http://www.youtube.com/watch?v=UH90nGNXab0

это код:

    <?php
require_once "Mail.php";
$from = "[email protected]";
$to = "[email protected]";
$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]: не удалось открыть поток: нет такого файла или каталога в C: \ wamp \ www \ MailSender \ MailSender.php в строке 2

после этой фатальной ошибки: require_once () [function.require]: Не удалось открыть 'Mail.php' (include_path = '.; C: \ wamp \ bin \ php \ php5.3.10 \ pear') в C: \ wamp \ www \ MailSender \ MailSender.php в строке 2

Итак, мой вывод таков:

1) Путь включения в моем php.ini в php неверен (include_path = ".; C: \ wamp \ bin \ php \ php5.3.10 \ pear"), а также мой include_path в php.ini в apache (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».

С уважением, Алексей


person Alexein    schedule 04.05.2012    source источник
comment
может быть неподходящее время дня для публикации ._.   -  person Alexein    schedule 04.05.2012
comment
Поскольку вы работаете в Windows, я не уверен, что это повлияет на вашу непосредственную проблему, но вы всегда должны убедиться, что обрабатываете имена файлов с учетом регистра, иначе у вас всегда будут проблемы с чем-либо, кроме Windows. Вы говорите, что у вас есть mail.php, но вы включаете Mail.php, это определенно не будет работать в системе Linux, вам нужно будет включить mail.php (в нижнем регистре), чтобы он работал.   -  person Anigel    schedule 04.05.2012
comment
@Anigel: ну, теперь я попытался изменить require_once .. Я перешел на C: \ wamp \ bin \ php \ php5.3.10 \ pear \ Mail \ mail.php, где mail.php - это фактический php-файл И получил: Неустранимая ошибка: класс Mail не найден в C: \ wamp \ bin \ php \ php5.3.10 \ pear \ Mail \ mail.php   -  person Alexein    schedule 04.05.2012
comment
Когда я только что установил этот пакет в своей системе (linux), в папке над mail.php был Mail.php, посмотрите, есть ли у вас этот файл, и если да, то укажите полный путь к этому файлу в вашем требовании, поскольку он похоже, что ваш путь включения может быть неправильным   -  person Anigel    schedule 04.05.2012


Ответы (1)


Вы установили почтовый пакет? Похоже, вы загрузили файлы вручную. Если вы не установили пакет, выполните следующую команду из командной строки:

pear install Mail

Это должно поместить пакет Mail в правильную папку библиотеки pear, которая уже должна быть в вашем include_path.

person Wil Moore III    schedule 05.05.2012