如何使用PHP在RedHat Linux上为SQLServer®配置Microsoft®ODBC驱动程序11

Sri*_*Sri 4 php unixodbc sql-server-2008

这是关于如何使用PHP在RedHat Linux上安装用于SQLServer®的Microsoft®ODBCDriver 11

Sri*_*Sri 7

下面是安装,配置和开始使用适用于Linux的Microsoft SQL Server ODBC驱动程序以及从PHP使用它的步骤 - 它假设您已经可以使用SQL Server并配置为接受TCP/IP上的连接,并且您也熟悉用Linux.首先,必须为Windows和SQL Server身份验证配置SQL Server(和相应的数据库).这需要重新启动SQL Server服务.此外,服务器还必须启用TCP/IP连接并定义静态端口(我将使用默认值1433),并且SQL Server主机上的防火墙必须允许连接到静态端口上的SQL Server.

加载必要的模块:

  1. 运行以下命令行以删除以前的安装.

     yum remove php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy     php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
    
    Run Code Online (Sandbox Code Playgroud)
  2. 要安装新软件包,请运行以下命令行(默认情况下,安装用户必须具有对/ opt目录的写权限.)

    yum install php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将这两行添加到/etc/httpd/conf/httpd.conf中

    SetEnv ODBCSYSINI /etc
    
    SetEnv ODBCINI /etc/odbc.ini
    
    Run Code Online (Sandbox Code Playgroud)

加载unixODBC

  1. 访问http://www.unixodbc.org/.

  2. 单击页面左侧的下载链接(unixODBC-2.3.0).

  3. 单击下一页上的"下载"链接,然后将文件保存在"〜/ Download"文件夹中

  4. 在Linux计算机上,执行以下命令:

    cd ~/Downloads/
    
    tar xvzf unixODBC-2.3.0.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  5. 切换到unixODBC-2.3.0目录.

    cd unixODBC-2.3.0/
    
    Run Code Online (Sandbox Code Playgroud)
  6. 在命令提示符处,键入以下命令:

    CPPFLAGS="-DSIZEOF_LONG_INT=8"
    
    Run Code Online (Sandbox Code Playgroud)
  7. 在命令提示符处,键入以下命令:

    export CPPFLAGS
    
    Run Code Online (Sandbox Code Playgroud)
  8. 在命令提示符处,键入以下命令:

     ./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE
    
    Run Code Online (Sandbox Code Playgroud)
  9. 在命令提示符下(以root身份登录),键入以下命令

    make
    
    Run Code Online (Sandbox Code Playgroud)

    然后按Enter键,然后按

    make install
    
    Run Code Online (Sandbox Code Playgroud)

    然后按Enter键.

安装Microsoft®ODBCDriver 11

  1. 运行以下一系列命令,

     wget http://download.microsoft.com/download/B/C/D/BCDD264C-7517-4B7D-8159- C99FC5535680/RedHat6/msodbcsql-11.0.2270.0.tar.gz
    and press enter, and then
    
    
     tar xzvf msodbcsql-11.0.2270.0.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)

    然后按Enter键,然后按

     cd  msodbcsql-11.0.2270.0
    
    Run Code Online (Sandbox Code Playgroud)

    然后按Enter键,然后按

     ./install.sh install --lib-dir=/usr/local/lib64 --accept-license
    
     odbcinst -q -d -n "SQL Server Native Client 11.0"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 现在编辑/etc/odbc.ini并添加这样的部分(将[服务器地址]更改为您的数据库服务器IP):

    [DSNname]
    Driver=SQL Server Native Client 11.0
    Description=My Sample ODBC Database Connection
    Trace=Yes
    Server=[server address]
    Port=1433
    Database=NSCDB_3
    
    Run Code Online (Sandbox Code Playgroud)
  3. 保存它,然后退出编辑器.在命令提示符下键入:

    isql -v <DSN Name> <sql server authentication user name> <password>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 接下来,我们从shell执行三个命令.(这些最多可能需要15秒).第三个重启Apache Web服务器.

    setsebool -P httpd_can_network_connect on
    setsebool -P httpd_can_network_connect_db on
    /etc/init.d/httpd restart
    
    Run Code Online (Sandbox Code Playgroud)

    如果安装成功,你应该看到这样的东西:

    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>
    
    Run Code Online (Sandbox Code Playgroud)