gpt4 book ai didi

PHP 类 - PHPMailer 意外 'use' (T_USE)

转载 作者:行者123 更新时间:2023-12-04 14:29:19 25 4
gpt4 key购买 nike

我想使用 PHPMailer 类进行测试。看完official documentation我看到有两种方法可以将它们包含在我的项目中:

1) 使用 Composer

2) 复制内容并包含路径

我不知道如何使用第一个选项, Composer 。第二个选项,复制内容和包含路径,看起来更容易。

我用这些代码行创建了一个名为 test.php 的文件:

<?php

session_start();

if(isset($_SESSION['username']) and $_SESSION['username'] != ''){

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

require 'assets/PHPMailer/src/Exception.php';
require 'assets/PHPMailer/src/PHPMailer.php';
require 'assets/PHPMailer/src/SMTP.php';

$mail = new PHPMailer;

echo 'Versión actual de PHP: ' . phpversion();

}else{
?>
<br>
<br>
<div class="row">
<div class="text-center">
<p class='errorLogin'>Inactive session, relogin <a href="login.php">here</a></p>
</div>
</div>
<?php
}?>

此代码仅将类加载到环境中并创建对象 PHPMailer 类的实例。

运行后,日志文件显示错误:

[Tue Oct 17 10:17:10.331051 2017] [:error] [pid 3879] [client 192.168.0.184:50679] PHP Parse error: syntax error, unexpected 'use' (T_USE) in /var/www/test/sendMail.php



PHP版本:5.6.30-0+deb8u1

有人可以帮我吗?

最佳答案

问题在于您使用了 use 关键词。从文档:

The use keyword must be declared in the outermost scope of a file (the global scope) or inside namespace declarations. This is because the importing is done at compile time and not runtime, so it cannot be block scoped.



因此,您的代码应该是这样的:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

session_start();

if (isset($_SESSION['username']) and $_SESSION['username'] != ''){
[...]

关于PHP 类 - PHPMailer 意外 'use' (T_USE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46788047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com