1

私は現在、うんざりしていて、このエラーの愚かさにばかげて混乱しています。正直なところ、私には意味がありません。

だから私は4つのウェブサイトのネットワークを持っていて、すべて同じcontact.phpスクリプトを使って貼り付けています。

したがって、3 つのサイトで、スクリプトは完全に機能します。ただし、サイトの 1 つで、エラーがポップアップし続けます。それらは同じサーバー上にあり、異なるコンテンツを除いてまったく同じ html ファイルを使用しているため、エラーはまったく発生しないはずです。

Warning: include(../../vip/boss/mailer/class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in /home/aap/public_html/justevents.net.au/quickcontact.php on line 2

Warning: include(../../vip/boss/mailer/class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in /home/aap/public_html/justevents.net.au/quickcontact.php on line 2

Warning: include() [function.include]: Failed opening '../../vip/boss/mailer/class.phpmailer.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/aap/public_html/justevents.net.au/quickcontact.php on line 2

Warning: include(../../vip/boss/mailer/class.smtp.php) [function.include]: failed to open stream: No such file or directory in /home/aap/public_html/justevents.net.au/quickcontact.php on line 3

Warning: include(../../vip/boss/mailer/class.smtp.php) [function.include]: failed to open stream: No such file or directory in /home/aap/public_html/justevents.net.au/quickcontact.php on line 3

Warning: include() [function.include]: Failed opening '../../vip/boss/mailer/class.smtp.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/aap/public_html/justevents.net.au/quickcontact.php on line 3

Fatal error: Class 'PHPMailer' not found in /home/aap/public_html/justevents.net.au/quickcontact.php on line 27

私を助けてください

<?php
include("../../vip/boss/mailer/class.phpmailer.php");
include("../../vip/boss/mailer/class.smtp.php");
function heal($str) {
$injections = array('/(\n+)/i',
'/(\r+)/i',
'/(\t+)/i',
'/(%0A+)/i',
'/(%0D+)/i',
'/(%08+)/i',
'/(%09+)/i'
);
$str= preg_replace($injections,'',$str);
return str_replace('@','-AT-',$str);
} 
$name = heal($_POSTname);
$email = str_replace('-AT-','@',heal($_POSTemail));
$message = heal(str_replace("\n",'<br>',$_POSTmessage));
$category = heal($_POSTcategory);
if(substr_count($email,'@')==1){
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth   = true;                
$mail->Host       = "localhost";  
$mail->SMTPSecure = "ssl";     
$mail->Port       = 465;   
$mail->Username   = "autonote@justevents.net.au";  
$mail->Password   = "REDACTED";          
$mail->From       = "autonote@justevents..net.au";
$mail->FromName   = $name;
$mail->Subject    = $category.' Enquiry';
$mail->Body       = $message;           
$mail->WordWrap   = 50;
$mail->AddAddress("admin@justevents..net.au","justevents. Enquiry");
$mail->AddReplyTo($email,$name);
$mail->IsHTML(true);
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
}else{
header("LOCATION:quicksuccess.html");
} 
}else{
echo 'There was an error, please try again. '.substr_count($email,'@');
} 
?>
4

2 に答える 2

2

呼び出しファイルで使用getcwd()して、この種のエラーをデバッグします。

ログからわかるように、ドキュメントは想定されたパスにありません。
確実な方法は 1 つだけです。絶対パスを使用してください。

そして、状況をデバッグしgetcwd()ます...

于 2012-07-05T01:05:08.483 に答える
1

明らかに、含めようとしているファイルが見つかりません。問題は、4 つすべてで同じ php スクリプトを使用している場合だけでなく、それらが同じディレクトリにあるかどうかです。そうでない場合、それらの上に同じディレクトリ構造がありますか? インクルードに相対パスを使用しているため、このバージョンがサブディレクトリなどにあると思われるため、作業ディレクトリからインクルードするファイルを見つけることができません。

于 2012-07-05T00:59:37.330 に答える