Linux - PHP 7.0 and MSSQL (Microsoft SQL)

后端 未结 9 1081
夕颜
夕颜 2020-12-02 09:08

Yes, I know that PHP 7.0 removed the extensions needed to connect to MSSQL. FreeTDS was my option prior to PHP 7.0 but now there really is no obvious upgrade path for those

9条回答
  •  广开言路
    2020-12-02 09:36

    Microsoft has PHP Linux Drivers for SQL Server for PHP 7 and above on PECL. These are production ready. To download them, follow these steps:

    Ubuntu 16.04:

    sudo su 
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
    exit
    sudo apt-get update
    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql mssql-tools unixodbc-dev
    sudo pecl install sqlsrv
    sudo pecl install pdo_sqlsrv
    echo "extension=sqlsrv" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
    echo "extension=pdo_sqlsrv" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
    

    CentOS 7:

    sudo su
    curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
    exit
    sudo yum update
    sudo ACCEPT_EULA=Y yum install -y msodbcsql mssql-tools unixODBC-devel 
    sudo yum groupinstall "Development Tools"
    sudo pecl install sqlsrv
    sudo pecl install pdo_sqlsrv
    echo "extension=sqlsrv" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
    echo "extension=pdo_sqlsrv" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
    

    This will install the PHP SQL Server Drivers and register them in the php.ini folder.

    Verify that it works by using the following sample

     "SampleDB",
        "Uid" => "sa",
        "PWD" => "your_password"
    );
    //Establishes the connection
    $conn = sqlsrv_connect($serverName, $connectionOptions);
    if($conn)
        echo "Connected!"
    ?>
    

    Links for reference:

    • https://pecl.php.net/package/sqlsrv

    • https://pecl.php.net/package/pdo_sqlsrv

    • https://github.com/Microsoft/msphpsql

提交回复
热议问题