php7 安装mssql 扩展

一、 Install the Microsoft PHP Drivers for SQL Server

1
2
3
4
5
6
7
8
9
10
[root@w91 source]#curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
[root@w91 source]# yum install -y msodbcsql mssql-tools unixODBC-devel
[root@w91 source]# yum -y install php-pear php7.0-dev
 
#下面如果安装失败下载后安装即可
[root@w91 source]# pecl install sqlsrv
[root@w91 source]# pecl install pdo_sqlsrv
#下载地址
[root@w91 source]# wget http://pecl.php.net/get/sqlsrv-5.2.0.tgz
[root@w91 source]# wget http://pecl.php.net/get/pdo_sqlsrv-5.3.0.tgz

执行到第二条时出现问题:

解决方式:

安装c++11 gcc4.8.x

1
2
3
4
5
6
7
8
9
10
11
12
[root@w91 home]wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
[root@w91 home]yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
[root@w91 home]yum install devtoolset-2-gcc-gfortran
[root@w91 home]yum install devtoolset-2-binutils-devel
[root@w91 source]# ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/
[root@w91 source]# mv /usr/local/bin/sudo{,_bak}
[root@w91 source]# hash -r
[root@w91 source]#gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  

再次执行

1
2
[root@w91 source]# pecl install sqlsrv
[root@w91 source]# pecl install pdo_sqlsrv

测试连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
$serverName = "192.168.10.20";
$connectionOptions = array(
    "Database" => "db_fidfe",
    "Uid" => "sea",
    "PWD" => "12456M"
);
//Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
//Select Query
$tsql= "SELECT @@Version as SQL_VERSION";
//Executes the query
$getResults= sqlsrv_query($conn, $tsql);
//Error handling
  
if ($getResults == FALSE)
    die(FormatErrors(sqlsrv_errors()));
?>
 <h1> Results : </h1>
 <?php
while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) {
    echo ($row['SQL_VERSION']);
    echo ("<br/>");
}
sqlsrv_free_stmt($getResults);
function FormatErrors( $errors ) 
    /* Display errors. */ 
    echo "Error information: <br/>"
   
    foreach ( $errors as $error ) 
    
        echo "SQLSTATE: ".$error['SQLSTATE']."<br/>"
        echo "Code: ".$error['code']."<br/>"
        echo "Message: ".$error['message']."<br/>"
    
?>

附带网上两个centos6、7安装php7 的mssql扩展

1
CentOS 6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
yum clean all
yum update -y
ACCEPT_EULA=Y yum install -y msodbcsql mssql-tools unixODBC-devel
cd /usr/local/src
rm -rf sqlsrv* pdo*
wget https://pecl.php.net/get/sqlsrv-4.3.0.tgz
tar -zxvf sqlsrv-4.3.0.tgz
cd sqlsrv-4.3.0
phpize
./configure
make
make install
echo ""
grep "sqlsrv.so" /usr/local/php/php.ini || echo "extension=sqlsrv.so" >> /usr/local/php/php.ini
cd /usr/local/src
wget https://pecl.php.net/get/pdo_sqlsrv-4.3.0.tgz
tar -zxvf pdo_sqlsrv-4.3.0.tgz
cd pdo_sqlsrv-4.3.0
phpize
./configure
make
make install
echo ""
grep "pdo_sqlsrv.so" /usr/local/php/php.ini || echo "extension=pdo_sqlsrv.so" >> /usr/local/php/php.ini
rm -rf sqlsrv* pdo*

CentOS 7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
yum clean all
yum update -y
ACCEPT_EULA=Y yum install -y msodbcsql mssql-tools unixODBC-devel
cd /usr/local/src
rm -rf sqlsrv* pdo*
wget https://pecl.php.net/get/sqlsrv-4.3.0.tgz
tar -zxvf sqlsrv-4.3.0.tgz
cd sqlsrv-4.3.0
phpize
./configure
make
make install
echo ""
grep "sqlsrv.so" /usr/local/php/php.ini || echo "extension=sqlsrv.so" >> /usr/local/php/php.ini
cd /usr/local/src
wget https://pecl.php.net/get/pdo_sqlsrv-4.3.0.tgz
tar -zxvf pdo_sqlsrv-4.3.0.tgz
cd pdo_sqlsrv-4.3.0
phpize
./configure
make
make install
echo ""
grep "pdo_sqlsrv.so" /usr/local/php/php.ini || echo "extension=pdo_sqlsrv.so" >> /usr/local/php/php.ini
rm -rf sqlsrv* pdo*

  

posted @   MR__Wang  阅读(4075)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示