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 installmake && 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 installmake && 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.inivi /usr/local/php/etc/php.ini
并在最下方加入下面代码并保存 vi 修改 (先按 i 进入编辑模式,添加成功以后 按 Esc键推出编辑模式 再收入 :wq 后按回车保存)extension="/usr/local/php/lib/php/extensions/mssql.so"<br>
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"<br>
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 restrat
3.4 如果你觉得不放心查看php探针文件 看看是否mssql 和 pdo_dblib 安装成功
第四步 下载附件并复制数据库驱动扩展文件到ThinkPHP的文件中
文件放到主程序下 /thinkphp/library/think/db 下方
文件有两个 分别放到 builder和connector文件夹下 两个问题同名 都是Dblib.php 但是不能搞混 切记
第五步 配置database.php文件return [<br>
// 数据库类型<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 次 )