Laravel Ошибка: не удалось открыть обязательное 'vendor / autoload. php' (include_path = 'D: \ Xampp \ php \ PEAR') - PullRequest
0 голосов
/ 17 апреля 2020

Я искал решения для SO, этот вопрос также был опубликован ранее, но не содержит ответа Я установил phpmailer с помощью этой команды:

composer require phpmailer/phpmailer

затем

php artisan serve

Я также выполнил следующие команды:

composer install
composer update

Теперь, когда я использую require 'vendor/autoload.php'; в моем коде есть ошибка:

App \ Http \ Controllers \ Auth \ ForgotPasswordController :: sendResetLinkEmail (): сбой при открытии необходим 'vendor / autoload. php' (include_path = ' D: \ Xampp \ php \ PEAR ')

Я просто пытаюсь реализовать phpmailer для отправки почты, если пользователь хочет сбросить пароль. Если потребуется какая-либо другая информация, я буду рад предоставить. Любые решения, предложения будут высоко оценены.

Вот код:

    <?php

namespace App\Http\Controllers\Auth;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\User;
use Carbon\Carbon;
class ForgotPasswordController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Password Reset Controller
    |--------------------------------------------------------------------------
    |
    | This controller is responsible for handling password reset emails and
    | includes a trait which assists in sending these notifications from
    | your application to your users. Feel free to explore this trait.
    |
    */
use SendsPasswordResetEmails;



public function sendResetLinkEmail(Request $request){

  $mail = $request->input('email');
$x = User::where('email',$mail)->count();
//return $x;
if($x){     //  User Exist

  $user = User::where('email',$mail)->get();
  DB::table('password_resets')->insert(['email' => $mail, 'created_at' => Carbon::now(),'token' => str_random(60)]);
  //fetching token
  $tokenData = DB::table('password_resets')->orderBy('created_at', 'desc')->limit(1)->get();
  foreach ($tokenData as $key) {
  $token = $key->token; //$token contains the token
}
      //Mail code starts
      $baseurl = '/password/reset/' . $token . '?email=' . urlencode($mail);
  $receiver_mail = $mail;

  require 'vendor/autoload.php';        // load Composer's autoloader

  $mail = new PHPMailer(true);     // Passing `true` enables exceptions

//Mail sending code here

}

    }

    }

Вот структура каталогов:

Directory list Part 1

Directory List Part 2

...