linux docker里面已有的 php 安装sqlserver ,pdo_sqlserver两个扩展
时间: 2024-03-29 18:09:26 浏览: 82
在 Linux 的 Docker 容器中已有 PHP 环境的情况下,可以通过在容器中安装 MSSQL 驱动程序以及 pdo_sqlsrv 和 sqlsrv 两个扩展来连接 SQL Server 数据库。以下是安装步骤:
1. 进入容器
执行以下命令进入容器:
```
docker exec -it container_name /bin/bash
```
其中 container_name 是容器的名称或 ID。
2. 安装必要的依赖项
在容器中执行以下命令安装必要的依赖项:
```
apt-get update
apt-get install -y \
unixodbc-dev \
gnupg2 \
curl
```
3. 添加 Microsoft 的存储库并安装 MSSQL 驱动程序
在容器中执行以下命令添加 Microsoft 的存储库并安装 MSSQL 驱动程序:
```
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install -y \
msodbcsql17 \
mssql-tools \
libgssapi-krb5-2
```
4. 安装 pdo_sqlsrv 和 sqlsrv 扩展
在容器中执行以下命令安装 pdo_sqlsrv 和 sqlsrv 扩展:
```
pecl install pdo_sqlsrv sqlsrv
docker-php-ext-enable pdo_sqlsrv sqlsrv
```
5. 重启 Apache 服务
在容器中执行以下命令重启 Apache 服务:
```
apachectl -k restart
```
6. 测试连接 SQL Server 数据库
在 PHP 代码中使用如下方式连接 SQL Server 数据库:
```php
$serverName = "your_server_name"; // SQL Server 服务器名称
$connectionOptions = array(
"Database" => "your_database_name", // 数据库名称
"Uid" => "your_username", // 用户名
"PWD" => "your_password" // 密码
);
// 创建连接
$conn = sqlsrv_connect($serverName, $connectionOptions);
// 检查连接是否成功
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Connected successfully.";
}
// 关闭连接
sqlsrv_close($conn);
```
如果运行结果输出 Connected successfully.,则表示连接成功。