2012-05-04 3 views
1

저는 PHP에서 좀 익숙해 졌으므로 이제 PHPUnit과 다른 것들을 사용하고 싶은 곳에서 배를 사용하기 시작했습니다.PHP - 배 : 스트림을 열지 못했습니다.

몇 가지 오류가 발생했습니다. 문제를 해결하기 위해 인터넷을 통해 살펴 보았습니다. 많은 사람들이 똑같은 문제를 겪었지만 문제를 해결할 다른 해결책이 있다는 것을 알아 냈습니다.

<?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>"); 
} 
?> 

내가 계속 : http://www.youtube.com/watch?v=UH90nGNXab0

이 코드입니다 : 내가 PHP를 통해 메시지를 전송하고이를 성공적으로 전송 된 경우, 내가 튜토리얼을 통해 찾아 봤는데 볼 수있는 결과를 얻으려면 require_once (Mail.php) [function.require-once] : 스트림을 열지 못했습니다. 2 행의 C : \ w \ www \ MailSender \ MailSender.php 파일이나 디렉토리가 없습니다.

이 심각한 오류 : 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 밤은 내 php.ini 파일에 포함 경로 (include_path도 php5.3.10 \ pear ") apache의 php.ini 파일에있는 include_path는 (include_path =". ;; C : \ wamp \ bin \ php \ php5.3.10 \ "C : \ Wamp \ bin \ php \ 배 ") 그래서 그것이 잘못되었을 수도 있습니다 궁금해?

2) 또는 패키지가 올바르게 설치되지 않았습니다. mail.php, mime.php, mimePart.php, mock.php, null.php, RFC822.php, sendmail 파일과 함께 "Mail"을 다운로드했습니다. PHP, smtp.php, smtpmx.php.

그리고 그 디렉토리는 "C : \ wamp \ bin \ php \ php5.3.10 \ pear"에 있습니다.

안부 Alexein

+0

은 게시 시간이 잘못되었을 수 있습니다. – Alexein

+0

Windows에서 실행 중일 때 즉시 문제가 발생할지 모르겠지만 대소 문자를 구분하여 파일 이름을 처리해야합니다. 그렇지 않으면 항상 Windows 이외의 다른 항목에서 문제가 발생합니다. mail.php를 가지고 있지만 Mail.php를 포함한다고하면, 리눅스 시스템에서는 mail.php (소문자)를 포함시켜야 작동 할 것입니다. – Anigel

+0

@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에 'Mail'클래스가 없습니다. – Alexein

답변

2

당신은 메일 패키지를 설치 한 적이 있습니까? 파일을 수동으로 다운로드 한 것 같습니다. 패키지를 설치하지 않은 경우, 명령 프롬프트에서 다음 명령을 실행

이미의 include_path에 있어야 올바른 배 라이브러리 폴더로 메일 패키지를 넣어해야

pear install Mail 
.

관련 문제