美文网首页
ubuntu下php连接sqlserver

ubuntu下php连接sqlserver

作者: greymonster | 来源:发表于2018-08-07 14:35 被阅读0次

    新公司数据库用sqlserver,费劲的在ubuntu下给php装了连接sqlserver的扩展。

    首先确认下你的php版本,目前我看到的是扩展只支持7。自己尝试php5.6安装了下,反正。。失败了。
    先贴出来官网教程的步骤

    步骤 1. 安装 PHP(这一步是如果你没有安装php7)

    sudo su
    add-apt-repository ppa:ondrej/php -y
    apt-get update
    apt-get install php7.2 php7.2-dev php7.2-xml -y --allow-unauthenticated
    
    

    步骤 2. 安装先决条件

    Ubuntu 按照的说明安装的 ODBC 驱动程序Linux 和 macOS 安装页
    进入上边页面,查看自己对应的系统,然后照着运行命令就可以了。
    这里我是ubuntu 14.04

    sudo su 
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
    #Download appropriate package for the OS version
    #Choose only ONE of the following, corresponding to your OS version
    
    #Ubuntu 14.04
    curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
    
    #Ubuntu 16.04
    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
    
    #Ubuntu 17.10
    curl https://packages.microsoft.com/config/ubuntu/17.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
    
    #Ubuntu 18.04
    curl https://packages.microsoft.com/config/ubuntu/18.04/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
    
    

    步骤 3. 安装用于 Microsoft SQL Server PHP 驱动程序

    sudo pecl install sqlsrv
    sudo pecl install pdo_sqlsrv
    exit
    
    *系统要求看这里
    https://docs.microsoft.com/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017
    

    总共需要装两个东西 1.odbc driver 1. php 两个扩展 sqlsvr和pdo_sqlsvr
    第一步是因为php的两个扩展现在只支持php7
    最后把好不容易生成的两个 pdo_sqlsrv.so sqlsrv.so 加入php.ini扩展。


    开始我是php5 折腾了半天,觉得不行,安了php7, 直接去pecl官网找包自己编译pdo_sqlsrv 和 sqlsrv, 然后odbc driver 也是下载的官网的deb包安装的 后来一直有问题 再后来一怒之下环境恢复,按着官网的教程重新装一遍好了。还有一定要先看系统要求。
    我安的时候 unixodbc是2.3.1 这时候会出现unixodbc-dev用apt安装不上,因为版本依赖的问题,never mind,pecl直接去install扩展,如果出现少头文件,不要慌,找个unixodbc2.3.1的源码包,然后里面有缺少的库,复制过去就行了。
    什么?不知道库在哪里?locate sql.h 。。

    相关文章

      网友评论

          本文标题:ubuntu下php连接sqlserver

          本文链接:https://www.haomeiwen.com/subject/qwaovftx.html