Compartilhar via


Carregando os Drivers da Microsoft para PHP para SQL Server

Baixar driver PHP

Esta página apresenta instruções para carregar os Microsoft Drivers for PHP for SQL Server no espaço de processo do PHP.

Você pode baixar os drivers predefinidos para sua plataforma da página do projeto GitHub Microsoft Drivers for PHP for SQL Server. Cada pacote de instalação contém arquivos de driver SQLSRV e PDO_SQLSRV em variantes encadeadas e não encadeadas. No Windows, eles também estão disponíveis em variantes de 32 bits e 64 bits. Confira Requisitos do Sistema para os Drivers da Microsoft para PHP para SQL Server para obter uma lista dos arquivos de driver contidos em cada pacote. O arquivo de driver deve corresponder à versão do PHP, à arquitetura e aos threads do seu ambiente PHP.

No Linux e no macOS, os drivers também podem ser instalados usando o PECL, conforme encontrado no tutorial de instalação.

Você também pode criar os controladores a partir do código fonte, seja ao criar o PHP ou usando phpize. Se optar por criar os drivers com base na origem, você terá a opção de criá-los estaticamente no PHP em vez de criá-los como extensões compartilhadas adicionando --enable-sqlsrv=static --with-pdo_sqlsrv=static (no Linux e macOS) ou --enable-sqlsrv=static --with-pdo-sqlsrv=static (no Windows) ao comando ./configure ao criar o PHP. Para obter mais informações sobre o sistema de build do PHP e phpize, confira a documentação do PHP.

Movendo o arquivo de driver para o diretório de extensão

O arquivo de driver deve estar localizado em um diretório em que o runtime do PHP possa encontrá-lo. É mais fácil colocar o arquivo de driver em seu diretório de extensão php padrão – para localizar o diretório padrão, executado php -i | sls extension_dir no Windows ou php -i | grep extension_dir no Linux/macOS. Se você não estiver usando o diretório de extensão padrão, especifique um diretório no arquivo de configuração do PHP (php.ini), usando a opção extension_dir . Por exemplo, no Windows, se você colocar o arquivo de driver em seu c:\php\ext diretório, adicione a seguinte linha ao php.ini:

extension_dir = "c:\PHP\ext"

Carregando o driver na inicialização do PHP

Para carregar o driver SQLSRV quando o PHP é iniciado, coloque antes o arquivo do driver no diretório de extensões. Então, siga estas etapas:

  1. Para habilitar o driver SQLSRV, modifique php.ini adicionando a seguinte linha à seção de extensão, alterando o nome do arquivo conforme apropriado para sua versão PHP e instalação thread safe versus não thread safe.

    Em Windows:

    extension=php_sqlsrv_83_ts.dll
    

    No Linux, se você baixou os binários predefinidos para sua distribuição:

    extension=php_sqlsrv_83_nts.so
    

    Se você compilou o binário SQLSRV de origem ou com PECL, seu nome será sqlsrv.so:

    extension=sqlsrv.so
    
  2. Para habilitar o driver PDO_SQLSRV, a extensão PDO (Objetos de Dados do PHP) deve estar disponível, como uma extensão interna ou carregada dinamicamente.

    No Windows, os binários predefinidos do PHP vêm com PDO interno, portanto, não é necessário modificar php.ini para carregá-lo. Se, no entanto, você compilou o PHP de origem e especificou uma extensão PDO separada a ser criada, seu nome será php_pdo.dll, e você deverá copiá-lo para o diretório de extensão e adicionar a seguinte linha ao php.ini:

    extension=php_pdo.dll
    

    No Linux, se você instalou o PHP usando o gerenciador de pacotes do sistema, o PDO provavelmente será instalado como uma extensão carregada dinamicamente chamada pdo.so. A extensão PDO deve ser carregada antes que a extensão de PDO_SQLSRV ou o carregamento falhe. As extensões são carregadas usando arquivos .ini individuais e esses arquivos são lidos após php.ini. Portanto, se pdo.so for carregado por meio do próprio arquivo .ini dele, será necessário um arquivo separado que carrega o driver PDO_SQLSRV após PDO.

    Para descobrir em qual diretório os arquivos .ini específicos da extensão estão localizados, execute php --ini e observe o diretório listado em Scan for additional .ini files in:. Localize o arquivo que carrega o pdo.so. Ele deve ser prefixado com um número, como 10-pdo.ini. O prefixo numérico indica a ordem de carregamento dos arquivos .ini, enquanto os arquivos que não têm um prefixo numérico são carregados em ordem alfabética. Crie um arquivo para carregar o arquivo de driver PDO_SQLSRV chamado 30-pdo_sqlsrv.ini (qualquer número maior que aquele que prefixa pdo.ini funciona) ou pdo_sqlsrv.ini (se pdo.ini não for prefixado com um número) e adicione a seguinte linha a ele, alterando o nome do arquivo conforme apropriado:

    extension=php_pdo_sqlsrv_3_nts.so
    

    Assim como no SQLSRV, se você compilou o binário PDO_SQLSRV de origem ou com PECL, seu nome será pdo_sqlsrv.so:

    extension=pdo_sqlsrv.so
    

    Copie esse arquivo para o diretório que contém os outros arquivos .ini.

    Se você compilou o PHP de origem com suporte interno ao PDO, não precisará de um arquivo .ini separado e poderá adicionar a linha anterior ao php.ini.

  3. Reinicie o servidor Web.

Observação

Para determinar se o driver é carregado com êxito, execute um script que chame phpinfo().

Para obter mais informações sobre as diretivas do php.ini, veja Descrição das principais diretivas do php.ini.

Consulte também

Introdução aos Drivers da Microsoft para PHP para SQL Server

Requisitos de sistema para os Microsoft Drivers for PHP for SQL Server

Guia de programação do Microsoft Drivers para PHP para SQL Server

Referência da API do driver SQLSRV

Referência da API do Driver PDO_SQLSRV