由于文件夹命名找不到邮件类

时间:2019-07-24 14:10:51

标签: laravel

我有两个发送电子邮件的类-SendMailableClientCart。两者都可以在localhost(Mac)上很好地工作,但是在生产(Ubuntu)上,由于命名文件夹而找不到一个或另一个。

如果文件夹是小写的/app/mail/,则仅找到SendMailable,而当发现/app/Mail/时,只有ClientCart。怎么会这样这些类的路径在哪里定义?

当我只留下文件夹/app/mail时,在生产中出现错误:

production.ERROR: Class 'App\Mail\ClientCart' not found {"userId":1,"email":"info@some.com","exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'App\\Mail\\ClientCart' not found at /var/www/some.com/app/Http/Controllers/CartsController.php:145)
[stacktrace]

这是我发来的控制器:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Debugbar;
use Session;

use Illuminate\Support\Facades\Mail;
use App\Mail\SendMailable;
use App\Mail\ClientCart;


class CartsController extends Controller {

    public function send() {

        \Mail::to('info@some.com')->send(new SendMailable('somevar'));

        \Mail::to('info@some.com')->send(new ClientCart('somevar'));

    } 

1 个答案:

答案 0 :(得分:0)

在Linux之类的区分大小写的系统上,类自动加载器区分大小写。如果您的文件夹名为C:/ProgramData/Anaconda3/Scripts/activate.bat ,则需要使用Mail,而不是Mail

({{1}中的mailApp中定义的一种特殊情况。)