流明/ Laravel无法获得火鸟数据库

问题描述

我得到了将流明与火鸟数据库连接的项目。 我可以连接PHP文件。在connectfdb.PHP中。 当我设置.env和config / database.PHP但不起作用

ps。我安装了这个 https://packagist.org/packages/harrygulliford/laravel-firebird

ps。 lumen5 laravel7 firebird3.0

connectfdb.PHP 它可以为我工作并获取数据。

<?PHP

$database = "/var/lib/firebird/3.0/data/employee.fdb";
$username ="user";
$password = "pass";

$conn = ibase_connect($database,$username,$password);

if ($conn->connect_error) {
    die("Connection Failed: " . $conn->connect_error);
}

echo "Connected to the database<br>";

$sql = "SELECT * FROM EMPLOYEE;";
echo $sql."sql<br>";

$result = ibase_query($conn,$sql) or die(ibase_errmsg());
echo $result."result<br>";


while ($row = ibase_fetch_assoc($result)) {
    echo $row["ID"]." ".$row["NAME"]."<br>";
}

ibase_close($conn);

?>

bootstrap / app.PHP

我通过$ app-> register(\ Firebird \ FirebirdServiceProvider :: class);

<?PHP

require_once __DIR__.'/../vendor/autoload.PHP';
(new 
Laravel\Lumen\Bootstrap\LoadEnvironmentvariables(dirname(__DIR__)))->bootstrap();
date_default_timezone_set(env('APP_TIMEZONE','UTC'));


$app = new Laravel\Lumen\Application(dirname(__DIR__));
$app->withFacades();
$app->withEloquent();


$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,App\Exceptions\Handler::class);

$app->singleton(
Illuminate\Contracts\Console\Kernel::class,App\Console\Kernel::class);


$app->configure('app');
$app->middleware([
   'cors' => App\Http\Middleware\CorsMiddleware::class,]);


$app->register(App\Providers\AuthServiceProvider::class);
$app->register(\Firebird\FirebirdServiceProvider::class);


$app->router->group(['namespace' => 'App\Http\Controllers',],function 
($router) {
     require __DIR__.'/../routes/web.PHP';
});

return $app;

config / database.PHP

<?PHP

return array(

    'default' => 'MysqL','connections' => array(

        //for connect database
        'MysqL' => array(
            'driver'    => 'MysqL','host'      => env('DB_HOST','localhost'),'port'      => env('DB_PORT',3306),'database'  => env('DB_DATABASE','orisma_hr'),'username'  => env('DB_USERNAME','user'),'password'  => env('DB_PASSWORD','pass'),),//for connect firebird
        'firebird' => array(
            'driver'    => 'firebird','host'      => env('DB_FIREBIRD_HOST',''),'database'  => env('DB_FIREBIRD_DATABASE','/var/lib/firebird/3.0/data/employee.fdb'),'username'  => env('DB_FIREBIRD_USERNAME','password'  => env('DB_FIREBIRD_PASSWORD','charset'   => env('DB_FIREBIRD_CHARSET','UTF8'),);

.env

APP_NAME=Lumen
APP_ENV=local
APP_KEY=907d908ee0936ea8091fc878f9968c1d

DB_CONNECTION=MysqL
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=orisma_hr
DB_USERNAME=user
DB_PASSWORD=pass

DB_FIREBIRD_HOST=
DB_FIREBIRD_DATABASE=/var/lib/firebird/3.0/data/employee.fdb
DB_FIREBIRD_USERNAME=user
DB_FIREBIRD_PASSWORD=pass
DB_FIREBIRD_CHARSET=UTF8

解决方法

我上班了

1.chown firebird.firebird / tmp / firebird / fb_init 2.chmod 777 / tmp / firebird / fb_init

3.edit .env

DB_FIREBIRD_HOST=localhost
DB_FIREBIRD_USERNAME=sysdba
DB_FIREBIRD_PASSWORD=masterkey(or passwordto set when install firebird)

可以看到用户通过/etc/firebird/3.0/SYSDBA.password

4.edit config / database.php

'host'      => env('DB_FIREBIRD_HOST','localhost'),'username'  => env('DB_FIREBIRD_USERNAME','sysdba'),'password'  => env('DB_FIREBIRD_PASSWORD','masterkey')(or passwordto set when install firebird)