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 -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;
}