我有两个发送电子邮件的类-SendMailable
和ClientCart
。两者都可以在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'));
}
答案 0 :(得分:0)
在Linux之类的区分大小写的系统上,类自动加载器区分大小写。如果您的文件夹名为C:/ProgramData/Anaconda3/Scripts/activate.bat
,则需要使用Mail
,而不是Mail
。
({{1}中的mail
是App
中定义的一种特殊情况。)