Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esta página fornece instruções para carregar os Microsoft Drivers para PHP para SQL Server no ambiente de processos do PHP.
Instale os controladores no Windows com PIE
O PIE, o PHP Installer for Extensions, instala os ficheiros de drivers pré-compilados correspondentes e ativa-os na configuração de linha de comandos PHP. O Windows não precisa de uma cadeia de ferramentas de compilação.
Instale uma versão PHP suportada e o driver Microsoft ODBC para SQL Server.
Execute
php --ini. Se Loaded Configuration File estiver(none), copie php.ini-development do diretório de instalação do PHP para php.ini, no mesmo diretório.Em php.ini, defina o diretório de extensões e ative as
opensslextensões e:zipextension_dir = "ext" extension=openssl extension=zipNum diretório de trabalho com permissão de escrita, descarregue a versão estável mais recente
pie.phar. O comando funciona no Prompt de Comandos e no PowerShell:curl.exe -fL --output pie.phar https://github.com/php/pie/releases/latest/download/pie.pharSe tiveres a CLI do GitHub, verifica se a PHP Foundation publicou o ficheiro:
gh attestation verify --owner php .\pie.pharInstale ambos os drivers usando o executável PHP em
PATH:php .\pie.phar install microsoft/sqlsrv php .\pie.phar install microsoft/pdo_sqlsrvVerifique se o mesmo ambiente de execução da linha de comandos do PHP carrega ambos os drivers:
php --ri sqlsrv php --ri pdo_sqlsrv
Para outros métodos de instalação de PIEs, consulte a documentação de utilização de PIEs.
Instale os drivers no Linux e macOS
Instale os drivers e as suas dependências de plataforma com o PIE conforme descrito no tutorial de instalação do Linux e macOS.
Instale manualmente controladores pré-compilados
Pode descarregar os drivers pré-construídos a partir da página Microsoft Drivers for PHP for SQL Server. A transferência do Windows é um ficheiro ZIP que contém os ficheiros de controlador SQLSRV e PDO_SQLSRV para cada versão do PHP suportada, arquitetura e modo de segurança de threads. Seleciona os ficheiros que correspondem ao teu ambiente PHP. Consulte os requisitos do sistema para a lista de ficheiros.
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:
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.dllNo Linux, se descarregaste os binários pré-construídos para a tua distribuição:
extension=php_sqlsrv_83_nts.soSe compilaste o binário SQLSRV a partir do código-fonte, ou o instalaste com PIE ou PECL, o seu nome é sqlsrv.so:
extension=sqlsrv.soPara ativar o driver PDO_SQLSRV , a extensão PHP Data Objects (PDO) deve estar disponível, seja como extensão incorporada ou 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.dllNo 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 --inie anote o diretório listado emScan 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.soTal como no SQLSRV, se compilaste o binário PDO_SQLSRV a partir da fonte, ou o instalaste com PIE ou PECL, o seu nome é pdo_sqlsrv.so:
extension=pdo_sqlsrv.soCopie 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.
Reinicia 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.