安装Centos宝塔面板上的sqlsrv扩展
Centos宝塔面板安装sqlsrv扩展的步骤如下:首先,登录宝塔面板,找到“软件商店”,搜索并安装“Microsoft SQL Server”扩展。然后,进入网站设置,找到“PHP管理”,点击“安装扩展”,在弹出的窗口中搜索“sqlsrv”,选择对应的版本进行安装。安装完成后,重启PHP服务。最后,通过phpinfo()函数查看是否安装成功。如果看到有关于sqlsrv的信息,说明已经成功安装了sqlsrv扩展。这样就可以在Centos环境下使用sqlsrv扩展了。
环境用的Centos + 宝塔面板,近来一个项目需要用到PHP连接一个远程mssql数据库取一个参数,下面说一下实现方法:
一、【加入微软的源】
curlhttps://packages.microsoft.com/config/rhel/7/prod.repo>/etc/yum.repos.d/mssqlrelease.repo
当前是安装php7以上的版本,其他版本对应自行到官网查询
如果发现这个链接失效了,可以到https://packages.microsoft.com/config/rhel/7/找下
二、【安装驱动】
yuminstallmsodbcsqlmssql-toolsunixODBC-devel
安装以上三个驱动,当前是支持php7以上的版本
三、【下载pdo_sqlsrv扩展包】
wgethttp://pecl.php.net/get/pdo_sqlsrv-5.8.1.tgz
更多版本:http://pecl.php.net/package/pdo_sqlsrv
特别说明:如果在第五步安装时出现报错,请根据更换版本尝试,一般最新版本可行。
四、【解压并进入目录】
tar-zxvfpdo_sqlsrv-5.8.1.tgzcdpdo_sqlsrv-5.8.1
五、【执行命令安装】
/www/server/php/73/bin/phpize./configure--with-php-config=/www/server/php/73/bin/php-configmake&&makeinstall
当前为宝塔,路径如下,使用对应php版本的phpize
73代表的是php的版本号,如果你是7.2的。可能是目录就是72
非宝塔环境下,按如下:
/usr/local/php/bin/phpize./configure--with-php-config=/usr/local/php/bin/php-config
以上仅为通用环境下安装sqlsrv扩展,宝塔环境安装sqlsrv扩展请略过此处按步骤来操作
六、【加入扩展】
echo"extension=pdo_sqlsrv.so">>/www/server/php/73/etc/php.ini/etc/init.d/php-fpm-73reload
七、【检查扩展是否安装成功】
/www/server/php/73/bin/php-m|grep-isqlsrv
或者直接去宝塔面板 - 软件管理 - PHP7.3 - phpinfo 查看。
八、【清理安装包】
cd..rm-rfpdo_sqlsrv-5.8.1rm-rfpdo_sqlsrv-5.8.1.tgz
最近附上宝塔面板安装sqlsrv扩展后,PHP连接远程MSSQL函数:
已在如上环境安装后测试通过!
functionmssql_user($username){$host="远程服务器IP,MSSQL端口";$dbname="数据库名称";$user="数据库用户名";$pass="数据库密码";try{$dbh=newPDO("sqlsrv:Server=$host;Database=$dbname",$user,$pass);}catch(PDOException$e){echo$e->getMessage();exit;}$stmt=$dbh->prepare("SELECTXXXFROMXXXWHEREXXX=".$username);$stmt->execute();while($row=$stmt->fetch()){echo$row[0];//多个查询结果输出//return$row[0];单一的结果可以直接用return}unset($dbh);unset($stmt);}