• 注册
  • thinkphp6 关注:2 内容:16

    LinUX系统ThinkPHP5链接MsSQL数据库的pdo_dblib扩展

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 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,

      ];

      你需要登录,才能进行发帖操作
    • 单栏布局 帖子间隔 侧栏位置: