skip to Main Content

So recently I deployed my laravel project. But it can’t connect to the database. I’m using sqlite and have already created the database.sqlite file(Inside database folder). Local everything works but remote it can’t find the file. I have already tried previous solutions such as;
Database (database/database.sqlite) does not exist. Database works from artisan tinker

I’m using the default value for the database path see here:

<?php

use IlluminateSupportStr;

return [

    /*
    |--------------------------------------------------------------------------
    | Default Database Connection Name
    |--------------------------------------------------------------------------
    |
    | Here you may specify which of the database connections below you wish
    | to use as your default connection for all database work. Of course
    | you may use many connections at once using the Database library.
    |
    */

    'default' => env('DB_CONNECTION', 'mysql'),

    /*
    |--------------------------------------------------------------------------
    | Database Connections
    |--------------------------------------------------------------------------
    |
    | Here are each of the database connections setup for your application.
    | Of course, examples of configuring each database platform that is
    | supported by Laravel is shown below to make development simple.
    |
    |
    | All database work in Laravel is done through the PHP PDO facilities
    | so make sure you have the driver for your particular database of
    | choice installed on your machine before you begin development.
    |
    */

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'database' => env('DB_DATABASE', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'username' => env('DB_USERNAME', 'forge'),
        ],

All my .env variables related to the database are set to null. So it should use the default database_path() function, which it does however the path is not correct because it gives this error:
Error message:

Also this is what my env file looks like:

APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:sKK5gF1A8SsZ1n+MUnBEc760zE9TkAtENbP0arpDtqk=
APP_DEBUG=false
APP_URL=http://admin.dimitrimanen.nl

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=sqlite
#DB_HOST=
#DB_PORT=
#DB_DATABASE=/home/strato/www/di/www.dimitrimanen.nl/htdocs/admin_portal/database/database.sqlite
#DB_USERNAME=
#DB_PASSWORD=

As you can see i also tried the absolute path my server provider noted;
https://www.strato.nl/faq/hosting/absolute-paden-en-locaties-van-tools/

Also all my permisions for the folders are set corect as some online solutions sugested, see here:
enter image description here

2

Answers


  1. Chosen as BEST ANSWER

    So conclusion don't be a me. The default path has .sqlite at the end but my database was actualy called database.db not sqlite. Atleast i can die in peace now with everything working!


  2. Start of changes:

    1.Create databasedatabase.sqlite

    2.Go to .env

    Change

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=root
    DB_PASSWORD=
    

    To

    DB_CONNECTION=sqlite
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=C:/xampp/htdocs/your-project-folder/database/database.sqlite
    DB_USERNAME=root
    DB_PASSWORD=
    

    Notice! Put the value of DB_DATABASE= according to the database.sqlite address in your project!

    3.Save changes

    4.Run under codes in cmd

    php artisan optimize:clear
    
    // Then
    php artisan migrate
    // OR
    php artisan migrate:fresh
    

    It is better to install extension SQLite Viewer on VSCode software.

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