首页 > 解决方案 > 为什么我得到 500 | 仅在我的托管服务器上的 Laravel 应用程序中的服务器错误?

问题描述

每当我点击某些页面live_examscourse_statsmy_orders500 服务器错误仅出现在我的托管服务器上。但是当我在本地机器上运行相同的应用程序时没有问题。 500 | 服务器错误 - Laravel

//学生仪表板方法

public function student_dashboard()
{
    return view('frontend.student_dashboard');
}

public function my_profile()
{
    $user_submit_mcq = McqUserAnswer::where('user_id', auth()->id())->get();

    $auth = Auth::user()->id;
    $enrolls = DB::table('packages as p')
        ->join('enroll_package AS ep', 'p.id', '=', 'ep.package_id')
        ->join('enrolls AS r', 'ep.enroll_id', '=', 'r.id')
        ->join('mcq_user_answers AS mua', 'p.id', '!=', 'mua.package_id')
        ->where(function ($query) use ($auth) {
            $query->where('r.status', 'Complete')
                ->where('r.user_id', $auth)
                ->where('p.id', '!=', 'mua.package_id')// ->where('mua.user_id', '!=', $auth)
            ;
        })
        ->distinct('p.id')
        ->select('p.*')
        ->get();

    // $pending = ;
    return view('frontend.my_profile', compact('user_submit_mcq', 'enrolls'));
}

public function all_courses()
{
    $enrolls = Enroll::orderBy('id', 'desc')->where('status', 'Complete')
        ->where('user_id', auth()->id())->get();

    return view('frontend.all_courses', compact('enrolls'));
}

public function course_stats()
{
    $userId = \auth()->id();
    $packages = Package::whereHas('enrolls', function ($query) use ($userId) {
        $query->whereUserId($userId);
    })->with(['mcqs' => function ($query) use($userId) {
        $query->selectRaw('main_mcqs.id')
            ->withSum('mcq_answer', 'answer_points')
            ->withSum(['mcq_user_answer' => function ($query) use($userId) {
                $query->whereUserId($userId);
            }], 'points');

    }])->get();

    $labels = $packages->pluck('title');
    $datasets  = $packages->reduce(function ($carry, $package) {
        if($package->mcqs->count()) {
            //$carry[0]['data'][] = $package->mcqs->sum('mcq_answer_sum_answer_points');
            $carry[0]['data'][] = ($package->mcqs->sum('mcq_user_answer_sum_points') / $package->mcqs->sum('mcq_answer_sum_answer_points')) * 100 ;
        } else {
            //$carry[0]['data'][] = 0;
            $carry[0]['data'][] = 0;
        }
        return $carry;
    }, [
        //['label' => 'Total Points', 'data' => [], 'fill' => false, 'borderColor' => '#da0b4e'],
        ['label' => "User's Points", 'data' => [], 'fill' => false, 'borderColor' => '#1865f2']
    ]);
    $max_y_scales = (int) max($datasets[0]['data']);

    return view('frontend.course_stats')->with(compact('labels', 'datasets', 'max_y_scales'));
}

public function live_exams()
{
    $exams = LiveExam::with('class')
        ->whereHas('enroll', function ($query) {
            $query->whereUserId(\auth()->id());
        })
        ->orderBy('start_time', 'asc')
        ->get();

    return view('frontend.live_exam.dashboard_exam', compact('exams'));
}

public function my_orders()
{
    $orders = Enroll::where('user_id', auth()->id())
        ->orderBy('created_at', 'DESC')
        ->get();

    return view('frontend.my_orders', compact('orders'));
}

public function settings()
{
    return view('frontend.settings');
}

public function saved_courses()
{
    $my_wishlist = auth()->user()->my_wishlist;

    return view('frontend.saved_courses', compact('my_wishlist'));
}

public function add_to_cart()
{
    if (Cart::isEmpty()) {
        return redirect('/');
    }
    $cart_items = Cart::getContent();

    return view('frontend.add_to_cart', compact('cart_items'));
}

public function product_wishlist()
{
    return view('frontend.product_wishlist');
}

public function leadboard(Request $request)
{
    if ($request->p_ && !empty($request->p_)) {
        $package_ids = Package::where('title', 'like', '%' . $request->p_ . '%')->pluck('id');
        $leadboards = McqManage::whereIn('package_id', $package_ids)->with(['user', 'package'])->orderBy('points', 'desc')->limit(12)->get();
    } else {
        $leadboards = McqManage::with(['user', 'package'])->orderBy('points', 'desc')->limit(12)->get();
    }

    return view('frontend.leadboard', compact('leadboards'));
}

// dynamic page
public function page(Request $request, $slug)
{
    $page = Page::where('slug', $slug)->where('status', 1)->first();
    if (!$page) {
        return back();
    }

    return view('frontend.page', compact('page'));
}

// user profile update
public function user_update(Request $request, $id)
{
    // return $request->all();
    $request->validate([
        'name' => 'required',
        'email' => 'required|email|unique:users,email,' . $id,
        'phone' => 'nullable|unique:users,phone,' . $id,
        'about' => 'nullable|string',
        'grad' => 'nullable|numeric',
    ]);
    $user = User::find($id);
    $user->name = $request->name;
    $user->email = $request->email;
    $user->phone = $request->phone;
    $user->about = $request->about;
    $user->address = $request->address;
    $user->city = $request->city;
    $user->zip = $request->zip;
    $user->grad = $request->grad;
    $user->favourite_subject = $request->favourite_subject;
    $user->github = $request->github;
    $user->linkedin = $request->linkedin;
    if ($request->hasFile('photo')) {
        $photo = $request->file('photo');
        $request->validate([
            'photo' => 'max:10240|mimes:jpeg,jpg,png',
        ]);
        if ($user->photo != 'images/user/user.png') {
            $link = base_path('public/' . $user->photo);
            if (file_exists($link)) {
                unlink($link);
            }
        }
        $photo_name = $this->UploadOne($photo, 'images/user', [120, 120]);
        $user->photo = $photo_name;
    }
    $user->save();

    return redirect()->route('settings')->with('success', 'Your profile updated');
}

标签: phpserverlaravel-8http-status-code-500

解决方案


推荐阅读