1. 程式人生 > >LinUX系統ThinkPHP5鏈接MsSQL數據庫的pdo_dblib擴展

LinUX系統ThinkPHP5鏈接MsSQL數據庫的pdo_dblib擴展

usr arr 數據庫名 code -s oot 輸入 [] ase

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 zxvf freetds-current.tar.gz
cd freetds-stable

*解壓以後的路徑自己看 這個不一定對
1.2執行./configure

./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib

1.3執行make install

make && make install

第二步 安裝PHP的安裝pdo_dblib擴展
2.1 進入你安裝的php源文件目錄,如果找不到就重新找到同版本的PHP文件解壓以後上傳到linux服務器 我拿這個路徑/root/scr/php/ext/pdo_dblib舉例

cd  /root/scr/php/ext/pdo_dblib

2.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"

不同的服務器可能代碼有所不同 ,我的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"

3.3 全部搞定後重啟阿帕奇apache 當然你也可以輸入reboot重啟服務器

service httpd restart

3.4 如果你覺得不放心查看php探針文件 看看是否mssql 和 pdo_dblib 安裝成功

技術分享圖片
技術分享圖片

第四步 下載附件並復制數據庫驅動擴展文件到ThinkPHP的文件中
文件放到主程序下 /thinkphp/library/think/db 下方
文件有兩個 分別放到 builder和connector文件夾下 兩個問題同名 都是Dblib.php 但是不能搞混 切記
第五步 配置database.php文件

return [
    // 數據庫類型
    ‘type‘           => ‘dblib‘,
    // 服務器地址
    ‘hostname‘       => ‘192.168.1.210‘,
    // 數據庫名
    ‘database‘       => ‘Mikkle_WeiXin‘,
    // 用戶名
    ‘username‘       => ‘sa‘,
    // 密碼
    ‘password‘       => ‘123123123123123‘,
    // 端口
    ‘hostport‘       => ‘1433‘,
    // 連接dsn
    ‘dsn‘            => ‘‘,
    // 數據庫連接參數
    ‘params‘         => [],
    // 數據庫編碼默認采用utf8
    ‘charset‘        => ‘utf8‘,
    // 數據庫表前綴
    ‘prefix‘         => ‘WeiXin_‘,
    // 數據庫調試模式
    ‘debug‘          => true,
    // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)
    ‘deploy‘         => 0,
    // 數據庫讀寫是否分離 主從式有效
    ‘rw_separate‘    => false,
    // 讀寫分離後 主服務器數量
    ‘master_num‘     => 1,
    // 指定從服務器序號
    ‘slave_no‘       => ‘‘,
    // 是否嚴格檢查字段是否存在
    ‘fields_strict‘  => true,
    // 數據集返回類型 array 數組 collection Collection對象
    ‘resultset_type‘ => ‘array‘,
    // 是否自動寫入時間戳字段
    ‘auto_timestamp‘ => true,
    // 是否需要進行SQL性能分析
    ‘sql_explain‘    => false,
];

下載擴展

LinUX系統ThinkPHP5鏈接MsSQL數據庫的pdo_dblib擴展