Abaixo estão os passos para instalar, configurar e começar a usar o driver ODBC do Microsoft SQL Server para Linux, e usá-lo a partir do PHP - pressupõe-se que você já tenha o SQL Server disponível e configurado para aceitar conexões sobre TCP/IP, além de ter alguma familiaridade com Linux. Primeiro, o SQL Server (e o banco de dados apropriado) deve ser configurado para Windows e Autenticação do SQL Server. Isso requer uma reinicialização do serviço SQL Server se alterado. Além disso, o servidor também deve ter conexões TCP/IP habilitadas com uma porta estática definida (estarei usando o padrão de 1433), e o firewall no host para o SQL Server deve permitir conexões com o SQL Server na porta estática.
Carregue os módulos necessários:
-
Execute a seguinte linha de comando para remover instalações anteriores.
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
-
Para instalar novos pacotes, execute a seguinte linha de comando (o usuário instalador deve ter privilégios de gravação no diretório /opt por padrão.)
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
-
Adicione essas duas linhas ao /etc/httpd/conf/httpd.conf
SetEnv ODBCSYSINI /etc SetEnv ODBCINI /etc/odbc.ini
Carregar unixODBC
-
Vá para http://www.unixodbc.org/ .
-
Clique no link Download (unixODBC-2.3.0), no lado esquerdo da página.
-
Clique no link Download, na próxima página, e salve o arquivo na pasta '~/Download'
-
No seu computador Linux, execute o seguinte comando:
cd ~/Downloads/ tar xvzf unixODBC-2.3.0.tar.gz
-
Mude para o diretório unixODBC-2.3.0.
cd unixODBC-2.3.0/
-
Em um prompt de comando, digite o seguinte comando:
CPPFLAGS="-DSIZEOF_LONG_INT=8"
-
Em um prompt de comando, digite o seguinte comando:
export CPPFLAGS
-
Em um prompt de comando, digite o seguinte comando:
./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
-
Em um prompt de comando (conectado como root), digite o seguinte comando
make
e pressione enter e, em seguida,
make install
e pressione enter.
Instale o driver ODBC 11 da Microsoft®
-
Execute a seguinte série de comandos,
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
e pressione enter e, em seguida,
cd msodbcsql-11.0.2270.0
e pressione enter e, em seguida,
./install.sh install --lib-dir=/usr/local/lib64 --accept-license odbcinst -q -d -n "SQL Server Native Client 11.0"
-
Agora edite /etc/odbc.ini e adicione uma seção como esta (altere [endereço do servidor] para o IP do seu servidor de banco de dados):
[DSNname] Driver=SQL Server Native Client 11.0 Description=My Sample ODBC Database Connection Trace=Yes Server=[server address] Port=1433 Database=NSCDB_3
-
Salve-o e saia do editor. Em um prompt de comando digite:
isql -v <DSN Name> <sql server authentication user name> <password>
-
Em seguida, executamos três comandos do shell. (podem levar até 15 segundos cada). O terceiro reinicia o servidor web Apache.
setsebool -P httpd_can_network_connect on setsebool -P httpd_can_network_connect_db on /etc/init.d/httpd restart
se a instalação foi bem sucedida, você deve ver algo assim:
+---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>