这是关于如何在带有PHP Microsoft® RedHat Linux上安装ODBC Driver 11 for SQL®
以下是安装、配置和开始使用 Microsoft SQL Server ODBC Driver for Linux 的步骤,并从 PHP 使用它 - 它假设您已经拥有 SQL Server 并配置为接受通过 TCP/IP 的连接,并且您对 Linux 也有一定的了解。首先,必须为 Windows 和 SQL Server 身份验证配置 SQL Server(和相应的数据库(。这需要重新启动 SQL Server 服务(如果更改(。此外,服务器还必须启用 TCP/IP 连接,并定义静态端口(我将使用默认值 1433(,并且 SQL Server 主机上的防火墙必须允许在静态端口上连接到 SQL Server。
加载必要的模块:
运行以下命令行以删除以前的安装。
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
要安装新软件包,请运行以下命令行(默认情况下,安装用户必须具有/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
将这两行添加到/etc/httpd/conf/httpd.conf
SetEnv ODBCSYSINI /etc SetEnv ODBCINI /etc/odbc.ini
加载 unixODBC
转到 http://www.unixodbc.org/。
单击页面左侧的下载链接 (unixODBC-2.3.0(。
单击下一页上的"下载"链接,然后将文件保存在"~/下载"文件夹中
在 Linux 计算机上,执行以下命令:
cd ~/Downloads/ tar xvzf unixODBC-2.3.0.tar.gz
切换到 unixODBC-2.3.0 目录。
cd unixODBC-2.3.0/
在命令提示符处,键入以下命令:
CPPFLAGS="-DSIZEOF_LONG_INT=8"
在命令提示符处,键入以下命令:
export CPPFLAGS
在命令提示符处,键入以下命令:
./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
在命令提示符下(以 root 用户身份登录(,键入以下命令
make
并按回车键,然后
make install
,然后按回车键。
安装 Microsoft® ODBC 驱动程序 11
运行以下一系列命令,
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
并按回车键,然后
cd msodbcsql-11.0.2270.0
并按回车键,然后
./install.sh install --lib-dir=/usr/local/lib64 --accept-license odbcinst -q -d -n "SQL Server Native Client 11.0"
现在编辑/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
保存它,然后退出编辑器。在命令提示符下键入:
isql -v <DSN Name> <sql server authentication user name> <password>
接下来,我们从 shell 执行三个命令。(每个最多可能需要 15 秒(。第三个重新启动 Apache Web 服务器。
setsebool -P httpd_can_network_connect on setsebool -P httpd_can_network_connect_db on /etc/init.d/httpd restart
如果安装成功,您应该看到如下所示的内容:
+---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>