我现在对这个错误的愚蠢感到震惊和可笑的困惑。老实说,这对我来说毫无意义。
所以我有一个由4个网站组成的网络,所有网站都使用相同的contact.php脚本,这是粘贴的blow。
因此,在其中三个网站上,脚本运行得非常完美。然而,在其中一个网站上,它不断弹出错误。应该不会有任何错误,因为它们在同一台服务器上,使用完全相同的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,'@');
}
?>发布于 2012-07-05 08:59:37
显然,您尝试包含的文件找不到。所以问题不仅在于你是否在这四个目录中都使用了相同的php脚本,而且它们是否在同一个目录中?如果不是,它们上面的目录结构是否相同?您在include中使用的是相对路径,所以我猜您只是将此版本放在一个子目录或其他目录中,因此它无法从其工作目录中找到要包含的文件。
发布于 2012-07-05 09:05:08
在调用文件上使用 调试此类错误。
从日志可以看出,文档不在它们预期的路径中。
只有一种方法可以确保使用绝对路径。
然后用getcwd()调试情况...
https://stackoverflow.com/questions/11336732
复制相似问题