1. 程式人生 > >Centos下php7版本裝mssql擴充套件

Centos下php7版本裝mssql擴充套件

首先安裝Centos上的Microsoft ODBC Driver for SQL Server,官網文件連線如下,centos使用的是RedHat Enterprise Server 6 和 7

官網教程如下所述:

新增微軟官方repo,我使用的是centos7,所以使用下面的命令列

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

為了防止衝突需要刪除以下依賴包,但是我沒有刪除。

yum remove unixODBC-utf16 unixODBC-utf16-devel

#防止衝突

ACCEPT_EULA=Y yum install msodbcsql17

# 可選:用於bcp和sqlcmd

ACCEPT_EULA=Y yum install mssql-tools

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

source ~/.bashrc

# 可選: 用於unixODBC開發標頭

yum install unixODBC-devel

我使用的是:yum install msodbcsql mssql-tools unixODBC-devel

我選擇如下版本

命令列如下:

wget http://pecl.php.net/get/pdo_sqlsrv-5.3.0.tgz

tar -zxvf pdo_sqlsrv-5.3.0.tgz

cd pdo_sqlsrv-5.3.0/

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

php.ini中新增extension="pdo_sqlsrv.so"

,重啟php-fpm或web伺服器

此時使用:php -m 看一下是否存在pdo_sqlsrv,如果存在說明安裝成功了。

看一下phpinfo資訊,多了以下資訊,看到下圖的資訊說明php的sqlserver擴充套件安裝成功。

如果還想用一個例子測試一下,我這有一個簡單的測試程式碼:

<?php
      // 資料庫使用者
      $strDbUser = 'your_db_user';
      // 資料庫密碼
      $strDbPass = 'your_db_user_password';
      // 資料庫伺服器地址
      $strDbHost = 'your_sqlserver_address';
      // 資料庫名稱
      $strDbName = 'your_database_name';
      // 連線資料庫的字串定義
      $strDsn = "sqlsrv:Server=$strDbHost;Database=$strDbName;";
      // 生成pdo物件
      $objDB = new PDO($strDsn, $strDbUser, $strDbPass);
      foreach ($objDB->query('SELECT * FROM dbo.your_table_name') as $row) {
        var_dump($row);
        return;
      }