linux Centos7.7
PHP7.4
宝塔7.5.2
【加入微软源】
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo
其他版本对应自行到官网下载
不同版本的对应,可以参考这里:
https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-drivers-for-sql-server-support-matrix?view=sql-server-ver15#php-version-support
【安装驱动】
yum install msodbcsql mssql-tools unixODBC-devel
驱动目前支持PHP7版本
【下载pdo_sqlsrv扩展包】
wget http://pecl.php.net/get/pdo_sqlsrv-5.8.1.tgz
更多版本
特别说明:如果在第五步安装时出现报错,请根据更换版本尝试,一般最新版本可行。
【解压并进入目录】
tar -zxvf pdo_sqlsrv-5.8.1.tgz cd pdo_sqlsrv-5.8.1
【执行安装命令】
/www/server/php/74/bin/phpize ./configure --with-php-config=/www/server/php/74/bin/php-config make && make install
当前为宝塔,路径如下,使用对应php版本的phpize
74代表的是php的版本号,如果你是7.3的。可能是目录就是73
【非宝塔环境,按如下操作:】
/usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config
以上仅为通用环境下安装sqlsrv扩展,宝塔环境安装sqlsrv扩展请略过此处按步骤来操作
【配置php.ini】
extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/pdo_sqlsrv.so
【检查扩展是否安装成功】
/www/server/php/74/bin/php -m|grep -i sqlsrv
或者直接去宝塔面板 - 软件管理 - PHP7.4 - phpinfo 查看。
测试代码
function mssql_user($username){ $host="远程服务器IP,MSSQL端口"; $dbname="数据库名称"; $user="数据库用户名"; $pass="数据库密码"; try { $dbh = new PDO("sqlsrv:Server=$host;Database=$dbname", $user, $pass); } catch(PDOException $e) { echo $e->getMessage(); exit; } unset($dbh); unset($stmt); }
如果是TP框架PDO需加斜杠
$sql = "SELECT * FROM XXX"; $Pdo = new \PDO('sqlsrv:Server=192.168.1.123;Database=master', 'sa', '123456'); $res = $Pdo->query($sql); $list = $res->fetchAll();
有问题请联系作者QQ:4505399(备注:vb盒子)