⑴ thinkphp配置文件裡面要使用到資料庫的數據怎麼辦,在config.php文件裡面可以連接、獲取資料庫的數據嗎
config.php是用來設置相關的sql連接項,比如連接類型 連接帳號 密碼 埠 資料庫選擇等.
在要使用到資料庫的數據時,在控制器中先初始化該表的model,如$user = M('User');
⑵ php手把手教你做網站(二十九)thinkphp6部署多個資料庫
前邊介紹了負載均衡,mysql同步,接下來介紹tp6分布式部署多個資料庫,實現讀寫分離。
tp6的分布式部署讀和寫仍然是一個系統,這里我們分開操作,給用戶展示的就是從資料庫,後端添加文章就是主庫,然後同步到從庫。
1、配置資料庫鏈接參數
目標:實現隨機使用資料庫展示信息,只是讀操作。
測試:前台可以讀取表中內容(存放的不一致),查看是否是隨機顯示的。
打開.env文件進行編輯
說明:
2、編輯database.php
找到deploy設置為1分布式部署,下邊不要改,都是讀,寫入的也就是後端的我們單獨建站連接主庫。
配置完成,tp6使用的是mt_rand取隨機數判斷使用哪個資料庫。
3、資料庫交互寫操作
比如瀏覽量沒必要每次都去更新資料庫,可以先使用redis緩存,存夠1000的整數倍,再去更新資料庫。
4、後台獨立,也就是寫
可以前後端分離,單獨做一個網站(沒有前端)使用ip訪問或者獨立的域名連接後台。
5、上傳附件(jquery ajax跨域上傳)
使用了nginx負載均衡,肯定是多個一樣的網站,如果圖片存放到一個站,別的就不能訪問了,可以單獨設置一個附件(壓縮包,圖片等)伺服器,可以使用二級域名連接,這就要求我們上傳附件的時候,是上傳到附件伺服器。
jqueryURL
API控制器apdpic方法
說明:
也可以先傳到後台伺服器然後使用(php)ftp上傳,或者是通過curl上傳到附件伺服器,感覺那樣畢竟麻煩,直接設置跨域會比較簡單。
也測試了使用jsonp跨域,但是不能上傳附件。
6、thinkphp6實現讀寫分離(在一個站點)
我個人是不喜歡這樣的,負載均衡應該是均衡地讀,也就是前台單獨一個站點,後端的寫是另一個獨立的站點,看個人喜好吧。
獨立後台的優點:可以提升安全性,因為我們的後台網址是不公開的,避免用戶猜測一些後台的信息。
.env配置按照1所述編輯,默認第一個是主庫。
database.php
願大家在新的一年心想事成,萬事如意!!!
⑶ thinkphp怎麼連接資料庫
1.在thinkphp入口文件同目錄下的config.inc.php中添加資料庫配置信息
代碼如下:
php
return array(
'DB_TYPE'=>'mysqli',
'DB_HOST'=>'localhost',
'DB_NAME'=>'demo',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PREFIX'=>'think_',
);
?>
然後在項目目錄的config.php文件中添加如下代碼:
代碼如下:
php
$arr1=array(
//'配置項'=>'配置值'
'URL_MODEL'=>2,
'APP_DEBUG'=>true,
'LOG_RECORD'=>true,
......
);
$arr2=include 'config.inc.php';
return array_merge($arr1,$arr2);
?>
在後台文件中也可以添加如上代碼,這樣在資料庫配置的連接信息改動後,只需要修改config.inc.php文件中的信息就可以達到同時修改前台與後台的資料庫連接配置信息。
2.如果在控制器中要連接另外的資料庫可以通過添加如下代碼完成:
代碼如下:
$arrr=array(
'dbms'=>'mysqli',//注意本書組中鍵名是規定的不能變動.
'username'=>'google',
'password'=>'hello',
'hostname'=>'127.0.0.1',
'database'=>'MYDBname',
);
$db=newDb($arrr);
詳細你可以去後盾人看看,這些都是後盾人裡面的,哪裡有詳細的視頻教學都是高質量,我自己就是在裡面學的。