2017-08-30 22 views
0

私は、Composigner経由でCodeigniter + PHPMailerに苦労しています。 私はこのエラーを取得しています:Codeigniter作曲者Phpmailer

Class 'PHPMailer' not found 

私はCIのバージョン3.1.5を持っていると私は、次のコマンドを使用してphpmailerの6.0.0を作曲しました:私のルートフォルダ内の

composer require phpmailer/phpmailer 

を、それこのようなものを作成しました:私のアプリケーション/設定/ config.phpの内部

/CI_root 
|-- application 
|-- system 
|-- vendor 
| |-- phpmailer 
|  |-- phpmailer 
|   |-- language 
|   |-- src 
|-- composer.json 

このライン

があります3210
$config['composer_autoload'] = FCPATH."vendor/autoload.php"; 

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.*" 
} 

}

コントローラ

public function index() 
{ 
    $mail = new PHPMailer(); 
    // other of stuff 

内部面白いのは、mpdfは大丈夫です。私はここに何かを逃していますか

ありがとうございます!

+0

PHPMailer 6.0を使用している場合は、 '' php ":"> = 5.3.7 "'行を更新してPHP 5.5が必要です。 – Synchro

+0

私はとにかくPHP 7.0で動作していますが、私はそれを変更しよう! –

答えて

4

作曲オートローディングがちょうどTRUE次のようになります。

$config['composer_autoload'] = TRUE; 

CodeIgniterには、すでにあなたの作曲自動ロードファイルは、使用したいファイルの先頭に/application/vendor

になることを知っているためです

use PHPMailer; 

実際、phpmailerのドキュメントでは、彼らは示しています:PHPメーラー、おそらくのようなものを必要とし

//Import PHPMailer classes into the global namespace 
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 
+0

しかし、CIはアプリケーションフォルダを見ています。フォルダも受け付けています。そのため、mPDFをうまく読み込めます。問題は何とか私が信じているphpmailerである。 –

+0

私は答えを更新しました。あなたはそれを使用しようとしているあなたのファイルの上部に 'use PHPMailer;'を使っていますか? –

+1

https://packagist.org/packages/phpmailer/phpmailer –

関連する問題