laravel有問題。Laravel 5.2數據庫連接不起作用
我有一個連接到測試數據庫的工作,但是當我更改生產數據庫的信息它不起作用。
遷移始終測試數據庫,而不是生產上遷移...
如果你知道,如果有別的東西在config目錄比database.php中改變其他,它會幫助我!
謝謝!
(對不起,我的英語)
laravel有問題。Laravel 5.2數據庫連接不起作用
我有一個連接到測試數據庫的工作,但是當我更改生產數據庫的信息它不起作用。
遷移始終測試數據庫,而不是生產上遷移...
如果你知道,如果有別的東西在config目錄比database.php中改變其他,它會幫助我!
謝謝!
(對不起,我的英語)
其實你應該使用.ENV文件用於這一目的。
這裏是.ENV生產
APP_ENV=production
APP_DEBUG=false
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=somedatabasename
DB_USERNAME=app_user
DB_PASSWORD=jdfnfjdfae126
它是如何工作
讓說的config/database.php中有以下值設置一個樣本值
'default' => env('DB_CONNECTION', 'mysql'),
這意味着支票首先在.env中設置環境變量DB_CONNECTION
,如果它沒有設置或爲null,則從config文件中獲取'mysql',這是在config connections數組中定義的mysql該文件(database.php中)
編輯
如你所提到的,你使用的是Oracle驅動程序。我想當你跑
php artisan vendor:publish --tag=oracle
會有一個配置文件發佈內部配置文件夾。如果配置文件沒有發佈,軟件包將自動使用您在.env文件數據庫配置中聲明的內容。
這個文件config/oracle.php
<?php
return [
'oracle' => [
'driver' => 'oracle',
'tns' => env('DB_TNS', ''),
'host' => env('DB_HOST', ''),
'port' => env('DB_PORT', '1521'),
'database' => env('DB_DATABASE', ''),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'charset' => env('DB_CHARSET', 'AL32UTF8'),
'prefix' => env('DB_PREFIX', ''),
'prefix_schema' => env('DB_SCHEMA_PREFIX', ''),
],
];
同樣,你可以在這裏更新值或直接提到它.ENV文件。比方說,你的數據庫名MYDATABASE值在
陣列將
'database' => env('DB_DATABASE', 'mydatabase'),
如果.ENV文件提到這將是
DB_DATABASE=mydatabase
推薦的方法是使用.ENV文件即使您發佈config file.so,您可以在版本控制中忽略它。
我忘了一件事情。我使用oracle數據庫。要連接oracle數據庫我使用這個包:https://github.com/yajra/laravel-oci8我不是最初使用laravel x) –
@ValentinBregeon看now.hope它有幫助。如果它幫助並解決了您的問題,請標記爲正確的答案。 :) – aimme
沒關係!!!!!感謝了很多@aimme我必須這樣做PHP工匠路線:緩存&& PHP工匠配置:緩存&& php工匠視圖:清除 –
您必須編輯.env文件,這是具有連接到數據庫的配置的文件。
希望它是有用的。
你應該改變你的。env文件,而不是數據庫配置本身 –