首先确保SQL Server启用远程连接并配置TCP/IP协议,开放1433端口;然后根据系统安装sqlsrv扩展,Windows复制DLL文件,Linux用PECL安装;最后通过sqlsrv_connect或PDO连接数据库,注意验证模式和用户权限。

要实现PHP连接远程MSSQL数据库,关键在于正确配置PHP环境并加载合适的数据库扩展。Windows和Linux系统下的配置方式略有不同,但核心是确保SQL Server允许远程连接,并在PHP中使用正确的驱动进行访问。
启用SQL Server远程连接
确保远程SQL Server实例支持远程访问:
-
• 打开SQL Server配置管理器,启用“SQL Server Browser”服务。
• 在“SQL Server网络配置”中,确认“TCP/IP”协议已启用。
• 检查防火墙设置,开放1433端口(或自定义的数据库端口)。
• 确保SQL Server身份验证模式支持“混合模式”(Windows + SQL Server认证),以便远程用户登录。
• 添加登录用户并赋予权限,确保该用户可以从远程IP连接。
安装并配置PHP的MSSQL扩展
根据操作系统选择对应的驱动:
-
• Windows:推荐使用Microsoft提供的sqlsrv扩展。下载并安装Microsoft Drivers for PHP for SQL Server,将对应版本的
php_sqlsrv_80_ts.dll(或非ts)复制到PHP的ext目录。• Linux:通过PECL安装
sqlsrv和pdo_sqlsrv扩展。执行命令:pecl install sqlsrv pdo_sqlsrv,然后在
php.ini中添加:extension=sqlsrv
extension=pdo_sqlsrv
• 修改
php.ini后重启Web服务器(如Apache或Nginx)使配置生效。
使用PHP连接远程MSSQL数据库
连接代码示例(使用sqlsrv扩展):
SHOPEX简灰服装商城整站源码下载。 安装方法:1.解压上传程序至网站根目录.. 访问:域名/bak.(用户名:admin 密码:123456)2.进入帝国备份王后,配置数据库数据库信息.选择-www.taomoban.net目录.还原数据库.3.修改FTP目录下的config/config.phpphp 数据库连接信息.4.登陆网站后台--清空缓存..5.删除bak文件夹 后台:shopadm
立即学习“PHP免费学习笔记(深入)”;
$serverName = "your_remote_ip,1433"; // IP和端口
$connectionOptions = array(
"Database" => "your_database_name",
"UID" => "your_username",
"PWD" => "your_password"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn) {
echo "连接成功";
} else {
die(print_r(sqlsrv_errors(), true));
}
若使用PDO方式:
try {
$conn = new PDO("sqlsrv:Server=your_remote_ip,1433;Database=your_database_name",
"your_username", "your_password");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "PDO连接成功";
} catch(PDOException $e) {
die("连接失败: " . $e->getMessage());
}
常见问题排查
-
• 连接超时:检查网络连通性(可用telnet测试端口)、防火墙规则、SQL Server是否监听远程请求。
• 扩展无法加载:确认DLL文件与PHP版本(线程安全TS/非TS、x64/x86)匹配。
• 登录失败:检查用户名密码、SQL Server身份验证模式及用户权限。
• 出现“driver not found”错误:确保
sqlsrv扩展已在phpinfo()中显示启用。
基本上就这些。只要SQL Server允许远程接入,PHP环境正确安装了sqlsrv扩展,连接远程MSSQL并不复杂,但细节容易忽略。










