当前位置: 首页 > 后端技术 > PHP

linux环境安装sqlsrv扩展连接mssql

时间:2023-03-29 16:57:51 PHP

下面的例子以CentOs7.8+php7.3为例。可以根据实际情况切换到其他版本。注意版本之间的对应关系。第一步是通过https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-安装适用于SQLServer(Linux)的MicrosoftODBC驱动程序-for-sql-server?view=sql-server-ver16查询支持php7.3版本MicrosoftDrivers的版本有5.6和5.8,这里选择5.6,对应DOBC驱动版本选择ODBC17sudosu#下载合适的packagefor操作系统版本#仅选择以下与您的操作系统版本相对应的一项#RedHatEnterpriseServer7和OracleLinux7curlhttps://packages.microsoft.com/config/rhel/7/prod.repo>/etc/yum.repos.d/mssql-release.repo#RedHatEnterpriseServer8和OracleLinux8#curlhttps://packages.microsoft.com/config/rhel/8/prod.repo>/etc/yum.repos.d/mssql-release.repo退出sudoyumremoveunixODBC-utf16unixODBC-utf16-devel#toavoidconflictssudoACCEPT_EULA=Yyuminstall-ymsodbcsql18#optional:forbcpandsqlcmdsudoACCEPT_EULA=Yyuminstall-ymssql-tools18echo'出口PATH="$PATH:/opt/mssql-tools18/bin"'>>~/.bashrcsource~/.bashrc#optional:forunixODBCdevelopmentheaderssudoyuminstall-yunixODBC-devel第二步是下载MicrosoftDriversforPHPSQLServer下载地址(5.6):https://github.com/microsoft/msphpsql/releases/download/v5.6.1/CentOS7-7.3.tar解压文件:第3步,安装sqlsrv扩展查看线程当前安装的PHP版本Safetyphp-i|grep"ThreadSafety"#ThreadSafety=>enabled表示线程安全,使用php_sqlsrv_73_ts.so和php_pdo_sqlsrv_73_ts.sodisabled表示非线程安全,使用php_sqlsrv_73_nts.so和php_pdo_sqlsrv_73_nts.so复制对应扩展文件到php扩展目录查看扩展目录php-i|grep"extension_dir"将文件上传到扩展目录。可以使用xshell拖拽,或者ftp工具,这里省略。编辑php.ini文件,添加下面配置extension=php_sqlsrv_73_tsextension=php_pdo_sqlsrv_73_tsrestartphp-fpmsudo/etc/init.d/php-fpmrestart参考文档:https://learn.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-驱动程序https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16https://learn.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver16https://github.com/微软/msphpsql/releases/tag/v5.6.1