【发布时间】:2016-05-20 05:27:29
【问题描述】:
我正在努力设置 PHPMailer 并在我的应用程序中工作。
安装看起来很简单。 我的目录结构如下:
|-[controllers]
|---controller.php
|-[vendor]
|---[PHPMailer]
|------class.phpmailer.php
|------PHPMailerAutoload.php
|-index.php
index.php
<?php
...
require __DIR__ . '/vendor/PHPMailer/PHPMailerAutoload.php';
...
?>
controller.php
<?php
include('vendor/PHPMailer/class.phpmailer.php');
$mail = new PHPMailer();
...
?>
这和示例一样简单,但是当我运行它时,我收到以下错误:
解析错误:语法错误,文件意外结束 C:\wamp\www\commway\vendor\PHPMailer\class.phpmailer.php 2995 行
一切正常,我不知道我是如何设法打破这个的。
我什至尝试将所有内容都移动到 index.php 文件,但我得到了相同的结果。只要我打电话给$mail = new PHPMailer();,它就会抛出错误。
【问题讨论】:
-
C:\wamp\www\commway\vendor\PHPMailer\class.phpmailer.php有足够的内容吗? -
在控制器中尝试做要求而不是包含。如果这给您带来错误,则上面的一行表示您的文件仍未在路径中找到。 as include 允许您的代码执行,即使文件未找到。
-
另外,由于您的结构似乎是 MVC,如果您使用的是 composer,请尝试通过 composer 加载 phpmailer,例如“composer require phpmailer/phpmailer”
-
@MukeshRam 我最初是这样做的。但是,现在我不得不下载 zip 文件并手动放置文件。
-
@MukeshRam 我已将代码更改为
require,当我单击文件路径时,它会将我带到正确的文件。但是,我仍然得到错误。事实上,即使我删除了$mail = new PHPMailer();行,我仍然会收到错误消息。