1. 简介
Microsoft SQL Server是一种常用的关系数据库管理系统,可以与许多方面的业务集成,包括 Web 应用程序、企业级应用程序、数据分析等。在PHP中操作MSSQL需要使用MSSQL 扩展包,该扩展包由PECL维护,与PHP5对应,为了安装MSSQL 扩展包,必须在系统中安装MSSQL 客户端库。
2. 环境准备
2.1 系统环境
确保系统是CentOS 7,Windows Server 2008 或以上系统,安装 httpd、MariaDB 或 MySQL 以及 PHP。可以使用如下的命令来检查安装是否正确。
httpd -v
mysql -V
php -v
2.2 MSSQL Server
您需要安装Microsoft SQL Server或使用Microsoft Azure SQL Database。如果您没有可以使用 Azure。您需要创建一个数据库。
2.3 MSSQL 客户端库
MSSQL 客户端库是操作MSSQL必须的,您可以到Microsoft下载中心或者在CentOS中使用YUM安装。对于CentOS 7.6,您可以使用以下命令:
sudo yum install epel-release
sudo yum update
sudo yum install msodbcsql17-17.7.2.1-1.x86_64 mssql-tools-17.7.2.1-1.x86_64
3. 安装MSSQL扩展包
成功安装MSSQL 客户端库后,需要安装MSSQL 扩展包。PECL 已包含该扩展包,可以直接处理编译并安装扩展包使用如下命令:
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
按照提示找到php.ini文件,通常情况下,它位于/etc/php.ini,添加以下内容,用于启用扩展包。
extension=sqlsrv.so
extension=pdo_sqlsrv.so
4. 配置连接到MSSQL
为了连接以及执行 MSSQL 数据库,您需要提供一些信息到MSSQL 实例。
4.1 基本连接配置
您可以配置连接配置,比如:
$serverName = "tcp:servername.database.windows.net";
$connectionOptions = array(
"Database" => "dbname",
"Uid" => "username",
"PWD" => "password"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
if( $conn ) {
echo "连接成功";
}else{
echo "连接失败";
die( print_r( sqlsrv_errors(), true));
}
4.2 按需配置连接
下面是更多可选的配置,你可以在连接选项数组中添加它们:
Authentication: 你可以选择Windows验证还是SQL验证
UID: 只有当你使用 SQL 验证时才需要提供用户名
PWD: 只有使用SQL验证时才需要提供密码
Encrypt: 如果你正在连接到Azure,该项应该配置为true,默认情况下是false
TrustServerCertificate: 如果您正在连接到Azure,该项应该设置为false,默认情况下是true
MultipleActiveResultSets: 如果您需要同时接收多个结果,应配置此项,默认为false
总结
PHP 操作 MS SQL Server 数据库需要使用 MSSQL 扩展包,需要安装MS SQL Server及客户端库,我们可以使用连接配置来连接到 MS SQL Server 数据库。希望这篇文章可以帮助到你。