我有一个托管服务器,我写了一个PHP代码给我一个错误,我不能访问php.ini作为其托管服务器来改变任何
错误:致命错误:require():无法打开所需的PHPMailer-master / PHPMailerAutoload.php'第2行的/home/vhosts/evoting.freevar.com/vote/mailtest.php中的(include_path ='。:/ usr / share / pear:/ usr / share / php')
PHP代码:
<?php
require 'PHPMailer-master/PHPMailerAutoload.php';
//Create a new PHPMailer instance
$mail = new PHPMailer();
//Tell PHPMailer to use SMTP
$mail->isSMTP();
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 2;
//Ask for HTML-friendly debug output
$mail->Debugoutput = 'html';
//Set the hostname of the mail server
$mail->Host = 'smtp.gmail.com';
//Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission
$mail->Port = 587;
//Set the encryption system to use - ssl (deprecated) or tls
$mail->SMTPSecure = 'tls';
//Whether to use SMTP authentication
$mail->SMTPAuth = true;
//Username to use for SMTP authentication - use full email address for gmail
$mail->Username = "sample@gmail.com";
//Password to use for SMTP authentication
$mail->Password = "password";
//Set who the message is to be sent from
$mail->setFrom('sample@gmail.com', 'Evoting System');
//Set an alternative reply-to address
$mail->addReplyTo('sample@gmail.com', 'Evoting System');
//Set who the message is to be sent to
$mail->addAddress('azaz3@gmail.com', '');
//Set the subject line
$mail->Subject = 'EVoting Otp ';
//Read an HTML message body from an external file, convert referenced images to embedded,
//convert HTML into a basic plain-text alternative body
$mail->msgHTML('23bj34');
//Replace the plain text body with one created manually
$mail->AltBody = 'sddsfsd23';
//Attach an image file
// $mail->addAttachment('images/phpmailer_mini.gif');
// send the message, check for errors
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
我在stackoverflow上阅读了相关文章,但还没有成功。提前谢谢!
答案 0 :(得分:1)
这不是火箭科学 - 错误信息非常清楚 - 您只需要使用自动加载器(以及其余PHPMailer文件)的正确路径,无论您的服务器在哪里。无需编辑php.ini。
答案 1 :(得分:1)
您可以检查当前的工作目录,如下所示:
echo getcwd();
如果您这样做,您将看到哪个是您的活动文件夹。您需要做的下一件事是检查活动文件夹中是否有PHPMailer-master
文件夹(如果您使用的是Linux,则区分大小写)。如果它不存在,那么您将需要指向正确的位置或创建文件夹并将文件复制到其中。如果存在,请检查您是否具有必要的权限以及该文件夹中是否存在名为PHPMailerAutoload.php
的文件(如果您使用的是Linux,则再次区分大小写)。