php - 在 TurnKey GNU/Linux 9.11 中安装 sqlsrv php 扩展时出现问题
问题描述
我尝试使用以下命令在我的 LAMP 服务器中为 php 安装 sqlsrv 和 pdo_sqlsrv 扩展:
pecl install sqlsrv
pecl install pdo_sqlsrv
但因此错误而失败:
Makefile:204: recipe for target 'shared/core_stream.lo' failed
make: *** [shared/core_stream.lo] Error 1
ERROR: `make' failed
更多细节:
lsb_release -a
No LSB modules are available.
Distributor ID: TurnKey
Description: TurnKey GNU/Linux 9.11 (stretch)
Release: 9.11
Codename: stretch
odbcinst -j
unixODBC 2.3.7
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
odbcinst -q -d -n "ODBC Driver 13 for SQL Server"
[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.2
UsageCount=1
在此先感谢您的帮助
解决方案
您尝试安装的适用于 SQL Server 的 ODBC 驱动程序 13 已经过时,不适合基于您的 Linux 发行版的 Debian 9。
您应该安装 ODBC 驱动程序 17:
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install libgssapi-krb5-2
以上代码专用于 Debian 9,可能无法在您的系统上运行,但很可能会。代码来自: Install the Microsoft ODBC Driver for SQL Server on Linux and macOS
推荐阅读
- mysql - 基本更新语句在使用 MariaDB 的 Kace SMA 上收到“1111;组函数使用无效”错误
- microsoft-translator - 如何处理翻译文本中的换行符?
- excel - 按下按钮时创建多个文本框时出现错误 400
- python-3.x - 使用 WMI 为远程文件夹分配权限
- angular - 在 Angular reducer 之间共享数据
- android - 从 Xamarin Forms 在 Android 上制作按钮大小写混合
- flutter - 将 15 个按钮放在行列或行列上
- .net - .net core 3.1 web api中的多个get方法
- mysql - 基于时序的mysql/pandas数据框更新列
- vue.js - 通过 axios 拦截器后的 Vuejs 错误