我想使用phpmailer
的最小功能。这是我的文件夹结构:
webroot/
- php/
- mail.php
- phpmailer/
- PHPMailer.php
在我的mail.php
中,我想使用命名空间:
<?php
use PHPMailer\PHPMailer;
$mail = new PHPMailer(true);
...
但我收到了错误:
致命错误:Class&#39; PHPMailer \ PHPMailer&#39;找不到 第2行/home/example/public_html/php/mail.php
我该如何解决这个问题?
答案 0 :(得分:1)
创建include.php文件。
$LibraryPath = "/webroot/php";
set_include_path(get_include_path() . PATH_SEPARATOR . $LibraryPath);
?>
*其中$ LibaryPath是包含phpmailer文件夹的php文件夹的路径
在您的PhpMailer.php中包含
namespace phpmailer;
class PHPMailer(){
.....
}
?>
在mail.php中包含require,这样你就可以实例化phpmailer \ PHPMailer
require ('include.php');
use phpmailer\PHPMailer;
你可以在php文件夹中添加更多类,你可以在#2。
之后定义它们的命名空间您可以通过添加'include.php'并实例化该类来在新页面中调用它们。
答案 1 :(得分:0)
开始研究作曲家。 Composer将帮助您使用单个自动加载器。
将作曲家放在php文件夹中。
查看THIS
或者把这个类放在php项目中。
你需要所有这些:
require_once('class.pop3.php');
require_once('class.phpmailer.php');
require_once('class.smtp.php');
require_once('PHPMailerAutoload.php');
答案 2 :(得分:0)
PhpMailer似乎不在命名空间中。
包括phpmailer / PHPMailerAutoload.php并使用\ PHPMailer:
<?php
require 'phpmailer/PHPMailerAutoload.php' ;
use \PHPMailer ;