2012-05-04 2 views
1

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

Я столкнулся с некоторыми ошибками, я просматривал интернет, чтобы решить его, что я выяснил, так это то, что у многих людей была такая же проблема, но у него были разные решения, чтобы исправить это. Я хочу отправить сообщение через 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 [email protected] 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 \ груша ") в C: \ WAMP \ WWW \ MailSender \ MailSender.php на линии 2

Итак, мой conclussion что:

1) включаемой путь в моем php.ini в PHP ISNT правильной (include_path = ".; C: \ wamp \ bin \ php \ php5.3.10 \ pear") также мой include_path в php.ini в apache (include_path = ".; C: \ wamp \ bin \ php \ php5.3.10 \ груша ") Так что, интересно, может ли это быть неправильно?

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».

С уважением Alexein

+0

Возможно, неправильное время суток для отправки ._. – Alexein

+0

Поскольку вы работаете в Windows, я не уверен, что это будет иметь какое-то значение для вашей непосредственной проблемы, но вы всегда должны следить за тем, чтобы вы обрабатывали имена файлов с учетом регистра, иначе вы всегда будете сталкиваться с проблемами, возникающими на чем-либо, кроме окон. Вы говорите, что у вас есть mail.php, но в том числе Mail.php, это определенно не будет работать в системе Linux, вам нужно будет включить mail.php (нижний регистр), чтобы он работал. – Anigel

+0

@ Аниэль: ну теперь я попытался изменить в require_once .. Я изменил на C: \ wamp \ bin \ php \ php5.3.10 \ pear \ Mail \ mail.php Где mail.php - это фактический php-файл И получил: Неустранимая ошибка: Class 'Mail' не найден в C: \ wamp \ bin \ php \ php5.3.10 \ pear \ Mail \ mail.php – Alexein

ответ

2

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

pear install Mail 

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