Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类别';PHPMailer\PHPMailer\PHPMailer';在中找不到_Php_Composer Php_Phpmailer_Require - Fatal编程技术网

类别';PHPMailer\PHPMailer\PHPMailer';在中找不到

类别';PHPMailer\PHPMailer\PHPMailer';在中找不到,php,composer-php,phpmailer,require,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

我用的是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); 
}
}
我相信我输入的是错误的,所以这里是我的路径结构

我正在使用Email.php

谢谢

基本URL包含
http://192.168.1.240/project/

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

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

您是否尝试过在不使用composer的情况下包含PHP Mailer?为什么所有这些composer内容都位于类似于公用文件夹的位置(即使它是命名资产)?它应该在您的项目根目录中。@JonStirling我应该用资产安装吗?我对
BASE\u URL
常量感到困惑。它真的包含URL吗?
require
调用无法工作,除非您为其提供文件系统路径。@OtavioSouzaRocha它不应该包含URL,它应该包含指向项目根目录的文件路径,而且我认为供应商不在资产目录中。我必须使用:require dirname(dirname(file))。\vendor\phpmailer\phpmailer\src\Exception.php';但是效果很好,谢谢!呃。。。您需要使用Composer的
autoload.php
。工作正常<代码>需要dirname(dirname(_文件__))。\vendor\autoload.php'或<代码>需要_DIR.'//供应商/autoload.php'(应该是一样的)。我刚刚遇到了这个问题,这确实也是我的问题,谢谢!你可以进一步解释一下,或者告诉我在哪里可以找到相关的资源?虽然我用PHP编写代码已经有一段时间了,但这似乎是我缺乏的基础知识。。