Olika (databas) konfiguration för utveckling och produktion

  • Författare
  • Meddelande
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10921
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Olika (databas) konfiguration för utveckling och produktion

Inlägg24 apr 2018, 10:17

I kursen oophp (och ramverk1) finns behovet att ha en databas lokalt för utveckling och en annan databasserver som används när koden är i produktion på studentservern.

Vi behöver alltså en konfigurationsfil som anpassar sig efter det systemet där den körs för närvarande.

Här är en konfigurationsfil som returnerar olika konfiguration för sin databaskoppling, om man är på studentservern eller ej. Konfigurationsfilen är config/database.php (Anax).
Kod: Markera allt
<?php
/**
* Config file for Database.
*
* Example for MySQL.
*  "dsn" => "mysql:host=localhost;dbname=test;",
*  "username" => "test",
*  "password" => "test",
*  "driver_options"  => [
*      \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
*  ],
*
* Example for SQLite.
*  "dsn" => "sqlite:memory::",
*
*/
if ($_SERVER["SERVER_NAME"] === "www.student.bth.se") {
    return [
        "dsn"             => "mysql:host=blu-ray.student.bth.se;dbname=mos;",
        "username"        => "mos",
        "password"        => "hemligt",
        "driver_options"  => [
            \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
        ],
        "fetch_mode"      => \PDO::FETCH_OBJ,
        "table_prefix"    => null,
        "session_key"     => "Anax\Database",

        // True to be very verbose during development
        "verbose"         => false,

        // True to be verbose on connection failed
        "debug_connect"   => true,
    ];
}

return [
    "dsn"             => "mysql:host=127.0.0.1;dbname=oophp;",
    "username"        => "user",
    "password"        => "pass",
    "driver_options"  => [
        \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
    ],
    "fetch_mode"      => \PDO::FETCH_OBJ,
    "table_prefix"    => null,
    "session_key"     => "Anax\Database",

    // True to be very verbose during development
    "verbose"         => false,

    // True to be verbose on connection failed
    "debug_connect"   => true,
];


Du kan se att server, databas, användare och login är olika för de båda maskinerna (lokalt och produktion).
...
..:
.... /mos
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10921
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Olika (databas) konfiguration för utveckling och produkt

Inlägg24 apr 2018, 10:19

Här finns en SO diskussion om hur man tar reda på serverns namn.
...
..:
.... /mos

Vilka är online

Användare som besöker denna kategori: Bing [Bot] och 14 gäster