Como conectar no SQL Server utilizando o PHP (Xampp) e o driver PDO no Windows

Visualizações: 47.205 views

Neste artigo

Tempo de Leitura: 4 minutos

Olá pessoal!
Tudo certinho ?

Neste post, eu gostaria de demonstrar como conectar no SQL Server utilizando o PHP (Xampp) e o driver PDO no Windows. Muitas pessoas acabam passando por dificuldades para a instalação e configuração dos drivers, devido a pequenos detalhes técnicos que acabam não sendo observados e impossibilitam a conexão entre o PHP e o banco de dados SQL Server.

O primeiro passo para conseguir essa conexão é baixar o Microsoft® ODBC Driver 18.2.1.1 for SQL Server® para a sua máquina e realizar a instalação do driver.

O próximo passo é visualizar as informações do seu ambiente. Para isso, crie um arquivo chamado phpinfo.php na raiz do seu servidor web PHP (o diretório padrão é C:\xampp\htdocs), com o conteúdo abaixo:

123<?php    phpinfo();?>

Após visualizar esse arquivo no seu navegador web (http://localhost/phpinfo.php), você deverá observar uma tela como essa:

Neste tela, precisamos identificar as seguintes variáveis de ambiente:

  • Versão do PHP (no caso do exemplo, 7.1.1)
  • Arquitetura do PHP (no caso do exemplo, x86)
  • Localização do arquivo de configuração (php.ini)
  • Verificar se versão da compilação do PHP é TS (Thread-safe) ou NTS (Non Thread-safe) (no caso do exemplo, é TS)

Após identificar essas informações, vamos agora baixar o Microsoft Drivers for PHP for SQL Server, de acordo com a sua versão do PHP:

Relação entre versão do driver e versão do PHP

Versão do DriverVersão do PHPDownload do driver
5.11.0-beta1PHP 7.4 a PHP 8.2Baixar
5.10.1PHP 7.4 a PHP 8.1Baixar
5.9PHP 7.3 a PHP 8.0Baixar
5.8PHP 7.2 a PHP 7.4Baixar
4.3PHP 7.0 e PHP 7.1Baixar
4.0PHP 7.0Baixar
3.2PHP 5.6.4+ ou PHP 5.5.16+ ou PHP 5.4.32Baixar
3.1PHP 5.5.16+ ou PHP 5.4.32Baixar
3.0PHP 5.4.32 ou PHP 5.3.0Baixar
2.0PHP 5.3.0 ou PHP 5.2.4 ou PHP 5.2.13Baixar

Relação entre versão do driver e versão do driver ODBC

Clique aqui para expandir

Versão do DriverVersão do Driver ODBC Driver ou SQL Server Native Client
5.8 ou acimaMicrosoft ODBC Driver 17.10.3 for SQL Server
ou Microsoft ODBC Driver 18.2.1.1 for SQL Server
4.3Microsoft ODBC Driver 11 for SQL Server
ou Microsoft ODBC Driver 13.1 for SQL Server
4.0Microsoft ODBC Driver 11 for SQL Server
ou Microsoft ODBC Driver 13 for SQL Server
3.2 ou 3.1Microsoft ODBC Driver 11 for SQL Server
3.0SQL Server 2012 feature pack
2.0Microsoft SQL Server 2008 R2 Native Client 32 bits (X86)
ou Microsoft SQL Server 2008 R2 Native Client 64 bits (x64)

Relação entre versão do driver e versão do banco de dados

Clique aqui para expandir

Relação entre versão do driver e versão do Windows

Clique aqui para expandir

Após identificar a versão correta do driver de acordo com a sua versão do PHP, SQL Server e Sistema Operacional, baixe o driver indicado e escolha uma pasta para extrair os arquivos durante a instalação.

Após isso, copie todos os arquivos que foram instalados para o diretório php\ext na sua instalação do Xampp (o diretório padrão é C:\xampp\php\ext)

Caso você não saiba o caminho do seu arquivo de configuração (o caminho padrão é C:\xampp\php\php.ini), na tela do phpinfo(), demonstrada logo acima, é possível identificar o caminho correto do seu arquivo php.ini buscando por Loaded Configuration File

Após copiar todos os arquivos, edite o arquivo php.ini da sua instalação e adicione os registros abaixo:
extension=php_pdo_sqlsrv_71_ts_x86.dll
extension=php_sqlsrv_71_ts_x86.dll

Lembrando que o nome das DLL’s variam de acordo com a versão do PHP (71, 70, 54, etc), Thread-safe (TS ou NTS) e arquitetura (X86 ou X64) e devem ser SEMPRE iguais ao nome dos arquivos que você baixou e copiou para o diretório php\ext.

Uma vez que você já editou o arquivo php.ini, basta reiniciar o Apache para que as alterações façam efeito, conforme demonstrado abaixo:

Abra novamente o arquivo phpinfo.php (http://localhost/phpinfo.php) e veja se agora o driver foi carregado:

Caso esteja igual ao do print, quer dizer que o driver está instalado e pronto para ser utilizado!

Script de teste de conexão

123456789101112131415161718192021222324252627282930<?phptry{    $servidor = “vm-dba”;    $instancia = “sql2016”;    $porta = 1433;    $database = “master”;    $usuario = “usuario_php”;    $senha = “123456”;        $conexao = new PDO( “sqlsrv:Server={$servidor}\\{$instancia},{$porta};Database={$database}”, $usuario, $senha );}catch ( PDOException $e ){    echo “Drivers disponiveis: ” . implode( “,”, PDO::getAvailableDrivers() );    echo “\nErro: ” . $e->getMessage();    exit;}$query = $conexao->prepare( “select @@version” );$query->execute();$resultado = $query->fetchAll();echo $resultado[‘0’][‘0’];unset( $conexao );unset( $query );

Resultado:

É isso aí!
Espero que tenham gostado desse artigo e já podem começar a criar aplicações utilizando PHP e SQL Server!

Existe ainda um link bem interessante, da própria Microsoft, que ajuda os desenvolvedores a criarem um ambiente PHP. Para acessar essa documentação, clique neste link aqui.

Forte abraço!

Fonte: https://www.dirceuresende.com/blog/como-conectar-no-sql-server-utilizando-o-php-xampp-e-o-driver-pdo-no-windows/