Mat*_*nes 1 codeigniter phpmailer composer-php
我正在通过Composer与Codeigniter + PHPMailer斗争.我收到这个错误:
Class 'PHPMailer' not found
Run Code Online (Sandbox Code Playgroud)
我有CI版本3.1.5,我使用以下命令编写了PHPMailer 6.0.0:
composer require phpmailer/phpmailer
Run Code Online (Sandbox Code Playgroud)
在我的根文件夹中,所以它创建了这样的东西:
/CI_root
|-- application
|-- system
|-- vendor
| |-- phpmailer
| |-- phpmailer
| |-- language
| |-- src
|-- composer.json
Run Code Online (Sandbox Code Playgroud)
在我的application/config/config.php里面有这一行
$config['composer_autoload'] = FCPATH."vendor/autoload.php";
Run Code Online (Sandbox Code Playgroud)
PS:我试图改变到$config['composer_autoload'] = "./vendor/autoload.php";
以及
最后,根composer.json
{
"description": "The CodeIgniter framework",
"name": "codeigniter/framework",
"type": "project",
"homepage": "https://codeigniter.com",
"license": "MIT",
"support": {
"forum": "http://forum.codeigniter.com/",
"wiki": "https://github.com/bcit-ci/CodeIgniter/wiki",
"irc": "irc://irc.freenode.net/codeigniter",
"source": "https://github.com/bcit-ci/CodeIgniter"
},
"require": {
"php": ">=5.3.7",
"phpmailer/phpmailer": "^6.0",
"mpdf/mpdf": "^6.1"
},
"suggest": {
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
},
"require-dev": {
"mikey179/vfsStream": "1.1.*",
"phpunit/phpunit": "4.* || 5.*"
}
Run Code Online (Sandbox Code Playgroud)
}
在控制器内部
public function index()
{
$mail = new PHPMailer();
// other of stuff
Run Code Online (Sandbox Code Playgroud)
有趣的是mpdf加载好了.我在这里错过了什么吗?
提前致谢!
Composer自动加载应该是TRUE:
$config['composer_autoload'] = TRUE;
Run Code Online (Sandbox Code Playgroud)
这是因为CodeIgniter已经知道您的作曲家自动加载文件将在 /application/vendor
在您要使用PHP邮件程序的文件顶部,可能需要以下内容:
use PHPMailer;
Run Code Online (Sandbox Code Playgroud)
实际上,在PHPMailer文档中,它们显示:
//Import PHPMailer classes into the global namespace
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1272 次 |
最近记录: |