不同環境的DB連線資訊有些不同,因此想將網站設定檔獨立為本機、伺服器兩份,
這樣就不用再因環境不同而修改程式。
新增一個.ini檔案紀錄DB,內容如下:
[database]
db_name= 'mydb'
db_user= 'root'
db_password= '[root帳號的密碼]'
db_url='localhost:3306'
- [database]: 這是sction,區分ini檔中的各區塊
- 其下的db_name、db_user、db_password、db_url都是參數
- 儲存檔名為 "webconfig.ini"
新增一個php檔案,內容如下:
<?php
//使用parse_ini_file來讀取.ini檔案,會以陣列的方式來存放內容
$ini = parse_ini_file('webconfig.ini',true);
//ini中的sction與參數名會變成陣列的索引 $ini[secion][參數名]
$db=$ini["database"]["db_name"];
$dbhost=$ini["database"]["db_url"];
$dbuser=$ini["database"]["db_user"];
$dbpass=$ini["database"]["db_password"];
//分行列印讀取的陣列資料
echo '<pre>',print_r($ini);'</pre>';
//使用mysqli_connect()來進行DB連線
$link=mysqli_connect($dbhost,$dbuser,$dbpass);
if(! $link) {
die ('DB連線失敗'. mysqli_error($link));
}
echo 'DB連線成功';
?>
- 使用函式 parse_ini_file(),詳見手冊https://www.php.net/manual/en/function.parse-ini-file.php
- 使用print_r()來顯示陣列資料,參閱手冊https://www.php.net/manual/en/function.print-r.php
從瀏覽器看會看到如下畫面
* 透過webconfig.ini區分兩個環境所存取的DB位置
- 對在Google Cloud Platfom上的VM程式來說就是存Localhost的資料庫
- 本機開發則是透過IP連到遠端的DB
沒有留言:
張貼留言