LinUX(centOS6.8)系統ThinkPHP5連結MsSQL資料庫的pdo_dblib擴充
第一步 下載並安裝freetds-current.tar.gz下載位址如下
ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
1.1下載解壓縮並進入該資料夾(其實你也可以解壓縮以後再上傳到linux伺服器)wget ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
tar zxvvf freetds-current.tar.gz
cd freetds-stable
*解壓縮以後的路徑自己看這個不一定對
1.2執行./configure./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib
1.3執行make installmake && make擴充
2.1 進入你安裝的php來源檔目錄,如果找不到就重新找到同版本的PHP檔解壓縮以後上傳到linux伺服器我拿這個路徑/root/scr/php/ext/pdo_dblib舉例
cd /root/scr/ php/ext/pdo_dblib2.2 執行phpize 如果你的php不是安裝在/usr/local路徑下你要修改為自己的php路徑
/usr/local/php/bin/phpize比如說我的php安裝路徑為/www/wdlinux/apache_php-5.6.21/ 就要執行/www/wdlinux/apache_php-5.6.21/bin/phpize
2.3執行./configure 同上如果你的php不是安裝在/usr/local路徑下你要修改為自己的php路徑
./configure --with-php-config=/usr/local/php/bin/php- config --with-pdo-dblib=/usr/local/freetds比如說我的php安裝路徑為/www/wdlinux/apache_php-5.6.21/那麼./configure --with-php-config=/www/ wdlinux/apache_php-5.6.21/bin/php-config --with-pdo-dblib=/usr/local/freetds
2.4執行make install
make && make install第三步驟 修改php.ini 同上如果你的php不是安裝在/usr/local路徑下 你要修改為自己的php路徑
比方說我的php安裝路徑是/www/wdlinux/apache_php-5.6.21/
3.1 驗證編譯檔的路徑
進入/usr/local/php/lib/php/extensions裡面查看裡面或下級目錄有沒有mssql.so和pdo_dblib.so檔
如果存在 那麼說明編譯成功了
3.2修改php.ini
vi /usr/local/php/etc/php.ini並在最下方加入下面程式碼並儲存vi 修改(先按i 進入編輯模式,新增成功以後按Esc鍵推出編輯模式再收入:wq 後依回車保存)
extension="/usr/local/php/lib/php/extensions/mssql.so"
extension="/usr/local/php/lib/php/extensions/pdo_dblib.so"<br>不同的伺服器可能程式碼有所不同,我的php安裝和編譯路徑就不同
extension="/www/wdlinux/apache_php- 5.6.21/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"
extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so"<br>3.3 全部搞定後重啟阿帕奇apache 當然你也可以輸入阿帕reboot重啟伺服器
service httpd restrat3.4 如果你覺得不放心查看php探針檔案看看是否mssql 和pdo_dblib 安裝成功
第四步 下載LinUX系統ThinkPHP5連結MsSQL資料庫的pdo_dblib擴展並複製資料庫驅動擴充檔案到ThinkPHP的檔案中
檔案放到主程式下 /thinkphp/library/think/db 下方
檔案有兩個 分別放到 builder和connector資料夾下 兩個問題同名 都是Dblib.php 但不能搞混 切記
第五步 設定database.php檔
return [
// 資料庫類型<br>
'type' => 'dblib',<br>
// 伺服器位址<br>
'hostname' => '192.168.1.210',<br>
// 資料庫名稱<br>
'database' => 'Mikkle_WeiXin',<br>
// 使用者名稱<br>
'username' => 'sa',<br>
// 密碼<br>
'password' => '123123123123123',<br> // 埠<br>
'hostport' => '1433',<br>
// 連接dsn<br>
'dsn' => '',<br>
// 資料庫連線參數<br>
'params' => [],<br>
// 資料庫編碼預設為utf8<br>
'charset' => 'utf8',<br>
// 資料庫表前綴<br>
'prefix' => 'WeiXin_',<br>
// 資料庫偵錯模式<br>
'debug' => true,<br>
// 資料庫部署方式:0 集中式(單一伺服器),1 分散式(主從伺服器)<br>
'deploy' => 0,<br>
// 資料庫讀寫是否分離 主從式有效<br>
'rw_separate' => false,<br>
// 讀寫分離後 主伺服器數量<br>
'master_num' => 1,<br>
// 指定從伺服器序號<br>
'slave_no' => '',<br>
// 是否嚴格檢查欄位是否有<br>
'fields_strict' => true,<br>
// 資料集回傳類型 array 數組 collection Collection物件<br>
'resultset_type' => 'array',<br>
// 是否自動寫入時間戳欄位<br>
'auto_timestamp' => true,<br>
// 是否需要進行SQL效能分析<br>
'sql_explain' => false,<br>
];
Ok然後大功告成
Thinkphp5 Pdo_dblib擴充.zip ( 3.16 KB 下載:1 次 )