我在同一页面上使用两个库。一个用于 pdf 生成,一个用于发送电子邮件。但是,这给了我错误 500 - llease 建议。
经过一些调试,我发现由于dompdf,phpmailer邮件无法正常工作:
require_once 'lib/dompdf/vendor/autoload.php';
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
require 'lib/phpmailer/vendor/autoload.php';
use DompdfDompdf;
class Pdf extends Dompdf{
public function __construct(){
parent::__construct();
}
}
通过使用别名:
use PHPMailerPHPMailer{PHPMailer as mailerClass, Exception as mailerException}; // PHP 7+
我认为您的代码中的问题是重复的自动加载器。最好的方法是在作曲家上安装两个包并使用作曲家自动加载器。
在这两个库中,您可以找到如何在作曲家上安装它们的示例。
composer require dompdf/dompdf
composer require phpmailer/phpmailer
然后,您必须包含作曲家的自动加载器。
require 'vendor/autoload.php';
之后,您可以使用自动加载器加载所有包。在 DomPDF 中,您可以找到如何使用的好示例。
https://github.com/dompdf/dompdf
500 个错误有点难找到。您应该启用错误日志并直接检查日志。在日志中应显示 php 错误。