Error during setup

Hi all

I apologise if this is a ‘noob’ post, however, I’ve been battling with this for a while now and I can’t find a fix.

These are the steps I’ve taken so far;

  1. downloaded the latest version (1.5.9) and uploaded to my root directory.

  2. Made a copy of the ipconfig.php.example file and renamed the copy to ipconfig.php

3.Added URL to ipconfig.php file (It’s a sub-domain so I added as “http://invoice.tatetech.co.za

  1. Ran the InvoicePlane installer - Received below error;

Fatal error: Uncaught exception ‘Dotenv\Exception\InvalidFileException’ with message ‘Dotenv values containing spaces must be surrounded by quotes.’ in /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Loader.php:228 Stack trace: #0 /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Loader.php(97): Dotenv\Loader->sanitiseVariableValue(‘DB_DATABASE’, ‘Tate Tech’) #1 /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Loader.php(330): Dotenv\Loader->normaliseEnvironmentVariable(‘DB_DATABASE=Tat…’, NULL) #2 /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Loader.php(58): Dotenv\Loader->setEnvironmentVariable(‘DB_DATABASE=Tat…’) #3 /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Dotenv.php(91): Dotenv\Loader->load() #4 /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Dotenv.php(48): Dotenv\Dotenv->loadData() #5 /home/tatetopa/invoice.tatetech.co.za/index.php(20): Dotenv\Dotenv->load() #6 {main} thrown in /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Loader.php on line 228

Please assist with troubleshooting if possible.

Regards

EDIT:

Here is the log file for reference

"<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>

ERROR - 2018-06-22 00:33:20 --> Could not find the language line “cannot_connect_database_server”
ERROR - 2018-06-22 00:33:20 --> Could not find the language line “cannot_connect_database_server”
ERROR - 2018-06-22 00:33:46 --> Severity: error --> Exception: Dotenv values containing spaces must be surrounded by quotes. /home/tatetopa/invoice.tatetech.co.za/vendor/vlucas/phpdotenv/src/Loader.php 228

Please check your database settings in /config/database.php

You will need to change for your database settings, for example

 'mysql' => [
            'host'      => 'localhost',
            'database'  => 'your_database_name',
            'username'  => 'your_database_username',
            'password'  => 'your_database_password,
            'prefix'    => '',

            'driver'    => 'mysql',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'strict'    => false,
        ],

Hey @cincinnatimattie

Thanks for the quick response :ok_hand:

I’m not sure what I’m really doing here but I managed to find it, could you tell me what I should change please?

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
|	['dsn']      The full DSN string describe a connection to the database.
|	['hostname'] The hostname of your database server.
|	['username'] The username used to connect to the database
|	['password'] The password used to connect to the database
|	['database'] The name of the database you want to connect to
|	['dbdriver'] The database driver. e.g.: mysqli.
|			Currently supported:
|				 cubrid, ibase, mssql, mysql, mysqli, oci8,
|				 odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
|	['dbprefix'] You can add an optional prefix, which will be added
|				 to the table name when using the  Query Builder class
|	['pconnect'] TRUE/FALSE - Whether to use a persistent connection
|	['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
|	['cache_on'] TRUE/FALSE - Enables/disables query caching
|	['cachedir'] The path to the folder where cache files should be stored
|	['char_set'] The character set used in communicating with the database
|	['dbcollat'] The character collation used in communicating with the database
|				 NOTE: For MySQL and MySQLi databases, this setting is only used
| 				 as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
|				 (and in table creation queries made with DB Forge).
| 				 There is an incompatibility in PHP with mysql_real_escape_string() which
| 				 can make your site vulnerable to SQL injection if you are using a
| 				 multi-byte character set and are running versions lower than these.
| 				 Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
|	['swap_pre'] A default table prefix that should be swapped with the dbprefix
|	['encrypt']  Whether or not to use an encrypted connection.
|
|			'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE
|			'mysqli' and 'pdo/mysql' drivers accept an array with the following options:
|
|				'ssl_key'    - Path to the private key file
|				'ssl_cert'   - Path to the public key certificate file
|				'ssl_ca'     - Path to the certificate authority file
|				'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format
|				'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':')
|				'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only)
|
|	['compress'] Whether or not to use client compression (MySQL only)
|	['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
|							- good for ensuring strict SQL while developing
|	['ssl_options']	Used to set various SSL options that can be used when making SSL connections.
|	['failover'] array - A array with 0 or more data for connections if the main should fail.
|	['save_queries'] TRUE/FALSE - Whether to "save" all executed queries.
| 				NOTE: Disabling this will also effectively disable both
| 				$this->db->last_query() and profiling of DB queries.
| 				When you run a query, with this setting set to TRUE (default),
| 				CodeIgniter will store the SQL statement for debugging purposes.
| 				However, this may cause high memory usage, especially if you run
| 				a lot of SQL queries ... disable this to avoid that problem.
|
| The $active_group variable lets you choose which connection group to
| make active.  By default there is only one group (the 'default' group).
|
| The $query_builder variables lets you determine whether or not to load
| the query builder class.
*/
$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
    'dsn' => '',
    'hostname' => getenv('DB_HOSTNAME'),
    'port' => getenv('DB_PORT'),
    'username' => getenv('DB_USERNAME'),
    'password' => getenv('DB_PASSWORD'),
    'database' => getenv('DB_DATABASE'),
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

Sorry, I was looking at the wrong version. So in your ipconfig.php file there is also the database settings that you need to change. Starting on line 21

DB_HOSTNAME=localhost
DB_USERNAME=YOUR_DATABASE_USERNAME
DB_PASSWORD=YOUR_DATABASE_PASSWORD
DB_DATABASE=YOUR_DATABASE_NAME
DB_PORT=3306

You will need to change the values for your database