php - Laravel BusServieProvider
问题描述
我已经为这个错误苦苦挣扎了一段时间了。当我推送到实时服务器时,在我的 laravel API 中出现此错误,但相同的代码库运行良好,并在控制器中分派每封邮件。
例外:
ParseError”文件:“/var/www/server.com/vendor/laravel/framework/src/Illuminate/Bus/BusServiceProvider.php”行:51 消息:“语法错误,意外')'”
这是我的控制器中失败的代码片段。
public function approve_results($id){
$user = (Auth::user()->firstname . ' ' . Auth::user()->lastname);
$pass = DB::table('passengers')->select('*')->where('id', $id)
->where('deleted_at', NULL)
->first();
$current_timestamp = Carbon::now()->toDateTimeString();
if($pass->approval_status != 'PENDING'){
return response()->json([
'message' => 'Results already approved',
'errorCode' => 401
]);
} else {
DB::table('passengers')->select('*')
->where('unique_number', $pass->unique_number)
->update(['approval_status' => 'APPROVED', 'approved_by' => $user, 'approval_date' => $current_timestamp]);
$getphonecode = Country::where('nicename', '=', $pass->nationality)->first();
$callcode = $getphonecode->phonecode;
if($pass->telephone)
$query_checker = '+233';
$pass_phone = $pass->telephone;
if (strpos($pass_phone, $query_checker) !== false ){
$phone = ltrim($pass->telephone, '+');
}else{
$phone = ($callcode . ltrim($pass->telephone, '0'));
}
$status = $pass->status;
$name = $pass->firstname . ' ' . $pass->lastname;
$emailAddress = $pass->email;
$dob = $pass->dob;
$nationality = $pass->nationality;
$address = $pass->address;
$gender = $pass->sex;
$test_type = $pass->test_type;
$sample_collection_date = $pass->sample_collection_date;
$sample_collection_time = $pass->sample_collection_time;
$status = $pass->status;
$unique_number = $pass->unique_number;
$traveller = $pass->travelling_status;
$passport = $pass->passport_number;
$test_date = $pass->test_date;
$lab_id = $pass->lab_id;
$sormas_id = $pass->sormas_id;
$specimen_type = $pass->specimen_type;
if(strpos($phone, '233') != false ){
// SendResultsViaSMS::dispatch($phone, $status, $name, $callcode, $uniqueNumber);
Mail::to($emailAddress)->queue(new Results(strtoupper($status), $name, $passport ,$test_date,
$lab_id, $sormas_id, $dob, $test_type, $specimen_type, $sample_collection_date, $sample_collection_time));
}else{
SendResultsViaSMS::dispatch($phone, $status, $name, $callcode, $unique_number);
Mail::to($emailAddress)->queue(new Results(strtoupper($status), $name, $passport ,$test_date,
$lab_id, $sormas_id, $dob, $test_type, $specimen_type, $sample_collection_date, $sample_collection_time));
}
return response()->json([
'message' => 'Results Approved',
'errorCode' => 201
]);
}
}
数据库更新正常,但邮件没有发送,它给了我一个 500 内部错误。当数据库更新时,应该收到并发送邮件。我必须收到一个 201 错误代码,然后在前端用于路由。
解决方案
感谢@lagbox 和所有评论的人。所以我能够通过更新代码库来修复它,我编辑了 vendor/laravel/framework/src/Illuminate/Bus/BusServiceProvider.php 并删除了第 51 行的尾随逗号
推荐阅读
- javascript - 如何查询包含对象数组中给定键字段的文档?
- javascript - 反应钩子。单击时如何使其他项目(当前项目除外)停用
- swift - SwiftUI @Published 对象不会更新双结构数组的 UI
- flutter - Flutter:编程一个带有缩放的绘画应用(GestureDetector onScaleUpdate,缩放后的偏移量计算)
- matlab - Matlab polyfit 的根,带有 mu 用于居中和缩放
- mysql - 将phpmyadmin上的数据导入多个表
- rust - 从函数返回未来值
- javascript - JS - 带图像的单选按钮
- java - Spring Boot 应用无法使用 SSH 启动
- android - 在 AMD 处理器上运行 android 模拟器