Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Laravel core之外的文件读取Laravel中的DB凭据_Php_Laravel - Fatal编程技术网

Php 从Laravel core之外的文件读取Laravel中的DB凭据

Php 从Laravel core之外的文件读取Laravel中的DB凭据,php,laravel,Php,Laravel,很抱歉,如果这个问题对某人来说是微不足道的,但到目前为止,我无法回答。在Laravel中,我们在app/config/database.php 'connections' => array( ... 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDB', '

很抱歉,如果这个问题对某人来说是微不足道的,但到目前为止,我无法回答。在
Laravel
中,我们在
app/config/database.php

'connections' => array(
    ...

    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'myDB',
        'username'  => 'myUser',
        'password'  => 'myPass',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

    ...
),
现在我有两个自定义文件,一个在
public
目录下,另一个在
libraries
目录下,其中还包含数据库凭据

$servername = "localhost";
$username = "myUser";
$password = "myPass";
$dbname = "myDB"; 

$conn = new mysqli($servername, $username, $password, $dbname);

是否有办法在这些文件中包含
app/config/database.php
,并从中读取DB凭据,而不是在3个文件中包含DB凭据

如果test.php位于您的公用文件夹中:

// test.php
$config = include __DIR__ . '/../app/config/database.php';
// var_dump($config);

$servername = $config['connections']['mysql']['host'];
$username   = $config['connections']['mysql']['username'];
$password   = $config['connections']['mysql']['password'];
$dbname     = $config['connections']['mysql']['database']; 

$conn = new mysqli($servername, $username, $password, $dbname);
您可以打开
app/config/database.php文件,然后从那里读取凭据

在自定义文件中,只需使用
include'path_to/app/config/database.php'
然后您可以从那里访问连接阵列。为了帮助我们生成文件路径,我们可以使用
\uuuu DIR\uuuu

include __DIR__ . '/../app/config/database.php';
$conn = new mysqli(connections['mysql']['host'], connections['mysql']['username'], connections['mysql']['password'], connections['mysql']['database']);