PHPMailer 问题:require():需要打开失败
Problem with PHPMailer: require(): Failed opening required
我在设置 PHPMailer 时遇到问题。它以前工作,但现在突然停止了,这是我得到的错误:
PHP Fatal error: require(): Failed opening required '../src/PHPMailer.php' (include_path='.:/opt/cpanel/ea-php53/root/usr/share/pear:/opt/cpanel/ea-php53/root/usr/share/php') in /home/pandatra/site.com/contacts_form/contact_form.php on line 9
这是contact_form.php中的代码:
<?php
include 'config.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require ''.$d['include_path'].'PHPMailer/src/Exception.php';
require ''.$d['include_path'].'PHPMailer/src/PHPMailer.php';
require ''.$d['include_path'].'PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
if (isset($_POST['Send'])) {
如何解决这个问题?有任何想法吗?我下载了 PHPMailer 6.1.7 版本。
这是问题所在:
I just replaced the old version with the new one
如果您从 5.x 升级到 6.x,则需要阅读专门为解决此问题而创建的 the readme, the upgrade guide, or 。
您提到的错误是,您的require中的路径出错了。为避免此类问题,您应该始终使用 绝对路径
例如
require __DIR__.'/PHPMailer/src/Exception.php';
require __DIR__.'/PHPMailer/src/PHPMailer.php';
require __DIR__.'/PHPMailer/src/SMTP.php';
# use "use" after include or require
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
__DIR__是运行文件目录的绝对路径。
我在设置 PHPMailer 时遇到问题。它以前工作,但现在突然停止了,这是我得到的错误:
PHP Fatal error: require(): Failed opening required '../src/PHPMailer.php' (include_path='.:/opt/cpanel/ea-php53/root/usr/share/pear:/opt/cpanel/ea-php53/root/usr/share/php') in /home/pandatra/site.com/contacts_form/contact_form.php on line 9
这是contact_form.php中的代码:
<?php
include 'config.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require ''.$d['include_path'].'PHPMailer/src/Exception.php';
require ''.$d['include_path'].'PHPMailer/src/PHPMailer.php';
require ''.$d['include_path'].'PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
if (isset($_POST['Send'])) {
如何解决这个问题?有任何想法吗?我下载了 PHPMailer 6.1.7 版本。
这是问题所在:
I just replaced the old version with the new one
如果您从 5.x 升级到 6.x,则需要阅读专门为解决此问题而创建的 the readme, the upgrade guide, or
您提到的错误是,您的require中的路径出错了。为避免此类问题,您应该始终使用 绝对路径
例如
require __DIR__.'/PHPMailer/src/Exception.php';
require __DIR__.'/PHPMailer/src/PHPMailer.php';
require __DIR__.'/PHPMailer/src/SMTP.php';
# use "use" after include or require
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
__DIR__是运行文件目录的绝对路径。