Extensão PHP MSSQL no Mac OS X (Mountain Lion)

Estamos trabalhando num projeto que utiliza Microsoft SQL Server como base de banco de dados. Quando configurei o PHP para conectar no determinado banco, o resultado era uma tela branca. Eu não estava conseguindo depurar o problema.

Fiquei um tempinho quebrando a cabeça, depois quando analisei o phpinfo() verifiquei que a extensão mssql.so não estava carregada. A solução que encontrei para utilizar essa extensão foi a seguinte:

  • Ter o XCode/GCC previamente instalado
  • Baixar, configurar, compilar e instalar o software FreeTDS (link)
  • Baixar o código fonte do PHP
  • Utilizar o comando phpize dentro da extensão do mssql (ext/mssql/)
  • Configurar, compilar e instalar o módulo
  • Carregar o mssql.so no /etc/php.ini
  • No meu caso eu instalei o freetds no diretório: /usr/local/freetds/
    • A configuração fica no seguinte diretório: /usr/local/freetds/conf/freetds/freetds.conf
    • Editei o arquivo de configuração e coloquei os seguintes dados: host, porta e versão tds.
  • Depois voltei a testar novamente a extensão e funcionou perfeitamente.

FreeTDS é um conjunto de bibliotecas para Unix e Linux que permite que seus programas conversem nativamente com Microsoft SQL Server e Sybase.

Tecnicamente falando, FreeTDS é uma implementação open source do TDS (Tabular Data Stream) protocolo usado por esses bancos de dados para seus próprios clientes. Ele suporta diversas linguagens incluindo Perl e PHP.

É uma ótima alternativa para usuários de Mac OS X. 😉