找不到类“ PHPMailer \ PHPMailer \ PHPMailer”

时间:2019-01-02 13:14:54

标签: php composer-php phpmailer require

我正在使用Composer,但没有尝试过。

我尝试过要求作曲家自动加载。

require BASE_URL.'assets/vendor/autoload.php';

并使用名称空间

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

但是我仍然收到错误消息

  

致命错误:找不到类'PHPMailer \ PHPMailer \ PHPMailer'

这是我的简化班

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/phpmailer/src/Exception.php';
require 'vendor/phpmailer/src/PHPMailer.php';
require 'vendor/phpmailer/src/SMTP.php';
class Email extends model{ 
    public function enviarContato($nome, $email, $mensagem){
        $mail = new PHPMailer(true); 
}
}

我认为我输入的错误,所以这是我的路径结构。

img

img

我正在使用Email.php。

谢谢

1 个答案:

答案 0 :(得分:2)

  

BASE_URL包含http://192.168.1.240/project/

如果您向require提供URL,则整个调用都是通过Web服务器进行的,因此您得到的是代码执行的结果,而不是代码本身。您需要一个文件系统路径,例如:

require __DIR__ . '/path/to/autoload.php';