在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的源码包:
4. 编译和安装扩展安装sqlsrv扩展- 解压源码包:tar -xzvf sqlsrv-5.11.0.tgzcd sqlsrv-5.11.0
- 编译安装:phpize./configuremakesudo make install若提示缺少Microsoft驱动路径,需在./configure中指定ODBC驱动路径(例如):./configure --with-msodbc=/usr/local/msodbcsql
安装pdo_sqlsrv扩展- 解压源码包:tar -xzvf pdo_sqlsrv-5.11.0.tgzcd pdo_sqlsrv-5.11.0
- 编译安装(步骤与sqlsrv相同):phpize./configuremakesudo make install
5. 配置PHP加载扩展- 找到php.ini文件路径(通过php --ini确认),编辑配置文件:sudo nano /etc/php/7.4/cli/php.ini # 路径根据实际PHP版本调整
- 在文件末尾添加以下行:extension=sqlsrv.soextension=pdo_sqlsrv.so
- 保存并退出,重启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的连接。