skip to Main Content

I am admittedly new to Laravel and back end development but I’m trying to open a Laravel project in my browser and am receiving an error message instead. I’m inheriting this project from a client who was working with another group of developers and they have since gone AWOL so I’m on my own to try to figure out what the issue is here.

The first error messages were:

**Warning:** require(C:xampphtdocsvizzuebootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in **C:xampphtdocsvizzuebootstrapautoload.php** on line **17**

**Fatal error:** require():Failed opening required 'C:xampphtdocsvizzuebootstrap/../vendor/autoload.php' (include_path='C:xamppphpPEAR') in **C:xampphtdocsvizzuebootstrapautoload.php** on line **17**

To try to fix that error (from a solution I found on here), I ran composer install in the terminal to try to download the missing files. That switched the previous error messages to Whoops, looks like something went wrong. (Not very helpful).

So then I found more advice on here to get more detailed errors for my problem and was outputted a long list of errors under four separate headings.

Heading 1

SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `sessions` where `id` = hA02gV6ShpNslkw0N8Wrgm8QmyA0ZxoXfCNHsVTK limit 1)

Heading 2

PDOException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

Heading 3

QueryException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `sessions` where `id` = hA02gV6ShpNslkw0N8Wrgm8QmyA0ZxoXfCNHsVTK limit 1)

Heading 4

PDOException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

My PHP version is: PHP 7.2.28

My Laravel version is: Laravel Framework 5.4.36

Also, I have created a .env by copying the .env-example file.

EDIT:

I found the database information inside of the database/migrations directory so I actually DO have the database files. I’m still having an error, however. I ran php artisan generate:key and that was fine. But when I ran php artisan migrate I got the following error:

In Connection.php line 647:

  could not find driver (SQL: select * from information_schema.tables where ta   
  ble_schema = homestead and table_name = migrations)


In Connector.php line 68:

  could not find driver

3

Answers


  1. You should configure your .env file to enable laravel access on your database. If you don’t have one just copy the .env.example file and rename it to .env.

    And then change the following properties:

    DB_DATABASE=YOUR_DATABASE_NAME

    DB_USERNAME=USER_NAME

    DB_PASSWORD=PASSWORD

    and then you should run php artisan key:generate to generate a new encryption key

    EDIT

    For your new problem you should run composer update and then composer require doctrine/dbal

    if that does not work

    You might need to comment out the following in your php.ini file.

    ;extension=pdo_mysql.so

    As said here

    Login or Signup to reply.
  2. first you have change the name of .env.example to .env then configure your database names settings in it. after that run composer install to install your project dependencies. make sure your webserver is up and running

    Login or Signup to reply.
  3. Here is the basic installation process for a laravel project. I’ll try to explain each of them so that you’ll be able to figure out your mistakes on your own.

    • Getting the source code

    You first need to get the source code of your app . Most of the time it’s done via git . For instance , you’ll need to type git clone https://github.com/miracuthbert/saas-boilerplate.git yoursaasproject to clone the repository hosted on github here

    • Install dependencies

      Go to the root of the directory of the source code you previously got by typing
      cd projectname.
      The laravel framework uses composer as its dependencies manager. So you need to install it . (What you already did)
      Then, from the root of your project, type the following intructions in the same order :

      composer install

      composer update

    • Environment configuration

    The environment variables of the laravel framework are managed through a dot env file. An example file named .env.example is generally provided. You’ll find it at the root of your project’s folder. Assuming you are using a terminal with a bash prompt, type the following command to copy the .env.example to a .env file :

    cp .env.example .env

    After getting your new .env file, type

    php artisan key:generate

    to generate secure key in your .env file

    Depending on the type of database management system you intend to use, here are some specific configurations to add in your .env file :

    • MySQL

    If you choose MySQL as your DBMS, set the following values in your .env file :

         DB_CONNECTION
    
    
         DB_DATABASE
    
    
         DB_USERNAME  
    
    
         DB_PASSWORD
    

    homestead is the default DB_USERNAME and localhost is the default database host. Localhost is totally fine for working locally but you need to change your DB_USERNAME to an actual user of your DBMS with the corresponding password.

    • Sqlite

    If you use sqlite, create a new sqlite database by typing :

    `touch database/database.sqlite`
    

    After setting up your database, enter the following command to create and populate tables :
    php artisan migrate --seed

    You may also need to edit other variables in the .env. The official laravel documentation is your best companion for that.
    This is to the best of my knowledge what you need to do.

    As for the driver error, here are few potential solutions adapted from an answer to a similar problem question asked here :

    Be sure to configure the ‘default’ key in app/config/database.php

    For mysql, this would be ‘default’ => ‘mysql’,

    If you are receiving a [PDOException] could not find driver error, check to see if you have the correct PHP extensions installed. You need pdo_mysql.so and mysql.so installed and enabled. Instructions on how to do this vary between operating systems.

    For Windows, the mysql extensions should come pre-downloaded with the official PHP distribution. Just edit your php.ini and uncomment the lines extension=pdo_mysql.so and extension=mysql.so

    Also, in php.ini, make sure extension_dir is set to the proper directory. It should be a folder called extensions or ext or similar inside your PHP install directory.

    There are other instructions given in the original answer but I’m only recommending those I understand. It was initially written for a postgres dbms.

    If there are still problems, take a look at laragon. It’s a bit like xamp (that you appear to be using on windows OS), but more powerful and easier to use.
    The main backend languages and frameworks can be set up easily in few minutes. That includes php with laravel/symfony, ruby and Ruby on Rails, python and Django.
    It allows you to manage multiple versions of the same programming language without any hassle and is fully extendable.
    If you’re new to Laravel or backend development, and working on the windows operating system, this is a must have.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search