A carregar os drivers da Microsoft para PHP para SQL Server

Descarregar o driver PHP

Esta página fornece instruções para carregar os Microsoft Drivers para PHP para SQL Server no ambiente de processos do PHP.

Pode descarregar os drivers pré-criados para a sua plataforma na página de projeto Microsoft Drivers for PHP para o SQL Server no GitHub. Cada pacote de instalação contém os ficheiros dos drivers "SQLSRV" e "PDO_SQLSRV", disponíveis em variantes com suporte para threads e sem suporte para threads. No Windows, também estão disponíveis em versões de 32 e 64 bits. Consulte Requisitos de Sistema para os Microsoft Drivers for PHP para SQL Server para uma lista dos ficheiros de drivers contidos em cada pacote. O ficheiro do driver deve ser compatível com a versão PHP, arquitetura e modo de segmentação do seu ambiente PHP.

No Linux e macOS, os drivers podem ser instalados alternativamente usando PECL, como encontrado no tutorial de instalação.

Também podes construir os drivers a partir do código-fonte, seja ao compilar PHP ou usando phpize. Se escolheres construir os drivers a partir da fonte, tens a opção de os compilar estaticamente em PHP em vez de os construir como extensões partilhadas, adicionando --enable-sqlsrv=static --with-pdo_sqlsrv=static (no Linux e macOS) ou --enable-sqlsrv=static --with-pdo-sqlsrv=static (no Windows) ao ./configure comando ao compilar PHP. Para mais informações sobre o sistema de compilação PHP e phpize, consulte a documentação PHP.

Mover o ficheiro do driver para o seu diretório de extensões

O ficheiro do driver deve estar localizado num diretório onde o runtime PHP o possa encontrar. É mais fácil colocar o ficheiro do driver na tua pasta de extensão PHP predefinida – para encontrar o diretório predefinido, correr php -i | sls extension_dir no Windows ou php -i | grep extension_dir no Linux/macOS. Se não estiveres a usar a pasta de extensão por defeito, especifica um diretório no ficheiro de configuração PHP (php.ini), usando a opção extension_dir. Por exemplo, no Windows, se colocar o ficheiro do driver na sua c:\php\ext diretoria, adicione a seguinte linha à php.ini:

extension_dir = "c:\PHP\ext"

Carregamento do driver no arranque do PHP

Para carregar o driver SQLSRV quando o PHP for iniciado, primeiro mova um ficheiro do driver para o seu diretório de extensões. Em seguida, siga estes passos:

  1. Para ativar o driver SQLSRV, modifique php.ini adicionando a seguinte linha à secção de extensão, alterando o nome do ficheiro conforme apropriado para a sua versão PHP e instalação thread safe ou não-thread safe:

    No Windows:

    extension=php_sqlsrv_83_ts.dll
    

    No Linux, se descarregaste os binários pré-construídos para a tua distribuição:

    extension=php_sqlsrv_83_nts.so
    

    Se compilaste o binário SQLSRV a partir da fonte ou com PECL, o seu nome é sqlsrv.so:

    extension=sqlsrv.so
    
  2. Para ativar o driver PDO_SQLSRV , a extensão PHP Data Objects (PDO) deve estar disponível, seja como extensão incorporada, quer como extensão carregada dinamicamente.

    No Windows, os binários PHP pré-construídos vêm com PDO incorporado, por isso não é necessário modificar php.ini para o carregar. Se, no entanto, compilaste PHP a partir do código-fonte e especificaste uma extensão PDO separada a ser construída, o seu nome é php_pdo.dll, e deves copiá-lo para o teu diretório de extensões e adicionar a seguinte linha à php.ini:

    extension=php_pdo.dll
    

    No Linux, se instalaste o PHP usando o gestor de pacotes do teu sistema, o PDO provavelmente está instalado como uma extensão carregada dinamicamente chamada pdo.so. A extensão PDO deve ser carregada antes da extensão PDO_SQLSRV, caso contrário falha o carregamento. As extensões são carregadas usando ficheiros .ini individuais, e estes ficheiros são lidos após php.ini. Portanto, se pdo.so for carregado através do seu próprio ficheiro .ini, é necessário um ficheiro separado que carregue o driver de PDO_SQLSRV após o PDO.

    Para descobrir em que diretório se encontram os ficheiros de .ini específicos da extensão, execute php --ini e anote o diretório listado em Scan for additional .ini files in:. Encontre o ficheiro que carrega pdo.so. Deve ser precedida por um número, como 10-pdo.ini. O prefixo numérico indica a ordem de carregamento dos ficheiros de .ini, enquanto ficheiros que não têm prefixo numérico são carregados alfabeticamente. Crie um ficheiro para carregar o ficheiro do driver PDO_SQLSRV chamado 30-pdo_sqlsrv.ini (qualquer número maior do que aquele que prefixa pdo.ini funciona) ou pdo_sqlsrv.ini (se pdo.ini não tiver prefixo), e adicione a linha seguinte, alterando o nome do ficheiro conforme apropriado:

    extension=php_pdo_sqlsrv_3_nts.so
    

    Tal como no SQLSRV, se compilaste o binário PDO_SQLSRV a partir da fonte ou com PECL, o seu nome é pdo_sqlsrv.so:

    extension=pdo_sqlsrv.so
    

    Copie este ficheiro para o diretório que contém os outros ficheiros .ini.

    Se compilaste PHP a partir do código-fonte com suporte PDO incorporado, não precisas de um ficheiro .ini separado, e podes adicionar a linha anterior ao php.ini.

  3. Reinicie o servidor Web.

Observação

Para determinar se o driver foi carregado com sucesso, execute um script que chame phpinfo().

Para mais informações sobre php.ini diretivas, veja Descrição das diretivas php.ini centrais.