如何在Linux服务器上安装PHP sqlsrv和pdo_sqlsrv扩展?

如何在Linux服务器上安装PHP sqlsrv和pdo_sqlsrv扩展?
最新回答
可缓缓归矣

2026-10-23 00:50:24

在Linux服务器上安装PHP的sqlsrv和pdo_sqlsrv扩展,需通过手动下载源码包并编译安装,具体步骤如下:

1. 确认PHP版本

确保服务器已安装PHP 5.6或更高版本,可通过以下命令检查:

php -v2. 安装依赖项

根据Linux发行版安装PHP开发工具和依赖库:

  • Ubuntu/Debian:sudo apt updatesudo apt install php-dev php-pear unixodbc-dev
  • CentOS/RHEL:sudo yum install php-devel php-pear unixODBC-devel注意:若使用PHP 7.x或更高版本,依赖包名称可能包含版本号(如php7.4-dev),需根据实际版本调整。
3. 下载扩展源码包

从官方PHP网站或GitHub获取sqlsrv和pdo_sqlsrv的源码包:

  • 访问
    PECL sqlsrv页面
    和
    PECL pdo_sqlsrv页面
    ,下载对应版本的.tgz文件。
  • 或使用wget直接下载(替换版本号为实际版本):wget
    https://pecl.php.net/get/sqlsrv-5.11.0.tgzwget
    https://pecl.php.net/get/pdo_sqlsrv-5.11.0.tgz
4. 编译和安装扩展安装sqlsrv扩展
  1. 解压源码包:tar -xzvf sqlsrv-5.11.0.tgzcd sqlsrv-5.11.0
  2. 编译安装:phpize./configuremakesudo make install若提示缺少Microsoft驱动路径,需在./configure中指定ODBC驱动路径(例如):./configure --with-msodbc=/usr/local/msodbcsql
安装pdo_sqlsrv扩展
  1. 解压源码包:tar -xzvf pdo_sqlsrv-5.11.0.tgzcd pdo_sqlsrv-5.11.0
  2. 编译安装(步骤与sqlsrv相同):phpize./configuremakesudo make install
5. 配置PHP加载扩展
  1. 找到php.ini文件路径(通过php --ini确认),编辑配置文件:sudo nano /etc/php/7.4/cli/php.ini # 路径根据实际PHP版本调整
  2. 在文件末尾添加以下行:extension=sqlsrv.soextension=pdo_sqlsrv.so
  3. 保存并退出,重启PHP服务(如使用PHP-FPM):sudo systemctl restart php7.4-fpm # 路径根据实际服务名调整
6. 验证安装

运行以下命令检查扩展是否加载成功:

php -m | grep -E 'sqlsrv|pdo_sqlsrv'

若输出包含sqlsrv和pdo_sqlsrv,则安装成功。

注意事项
  • 依赖问题:若编译失败,检查错误信息并安装缺失的依赖(如odbc驱动)。
  • 环境变量:若使用非默认ODBC驱动,需通过export设置路径:export MSodbcSQL_DIR=/usr/local/msodbcsql
  • 多版本PHP:若服务器有多个PHP版本,需为每个版本单独编译扩展,并修改对应php.ini文件。
  • 日志排查:安装失败时,查看PHP错误日志(通常位于/var/log/php_errors.log)或编译日志(make输出)。
替代方案:使用包管理器(部分发行版支持)

某些Linux发行版(如Ubuntu 20.04+)提供预编译的扩展包,可直接安装:

sudo apt install php-sqlsrv php-pdo-sqlsrv

但版本可能较旧,建议优先手动编译。

通过以上步骤,您可以在Linux服务器上成功安装并配置sqlsrv和pdo_sqlsrv扩展,实现PHP与Microsoft SQL Server的连接。