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.
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, podes instalar os drivers com PIE ou PECL, como descrito no tutorial de instalação.
No Windows, pode instalar os drivers com o PIE, o PHP Installer for Extensions, na versão 5.13.3 e versões posteriores. O PIE substitui o sistema obsoleto de pacotes PECL e permite a extensão para ti, por isso não descarregas um ficheiro de driver nem php.ini editas manualmente. O Windows não necessita de uma cadeia de ferramentas de compilação, porque as extensões são distribuídas como DLLs pré-compiladas. O próprio PIE requer PHP 8.1 e versões posteriores para funcionar, embora possa instalar uma extensão em qualquer outra instalação PHP na máquina.
pie install microsoft/sqlsrv
pie install microsoft/pdo_sqlsrv
Instala cada driver com o seu próprio comando. Para instruções sobre como instalar o PIE, consulte a documentação do PIE.
No Windows, o PIE precisa da openssl extensão para chegar ao repositório de pacotes. Uma instalação do PHP a partir do pacote .zip do php.net usa o ficheiro php.ini-development predefinido, o que não o ativa, e o PIE termina com The package "composer/ca-bundle" requires the extension "openssl". Defina extension_dir e ative a extensão em php.ini antes de executar o PIE:
extension_dir = "ext"
extension=openssl
Instalações PHP geridas por pacotes no Linux e macOS já ativamopenssl, por isso esta etapa aplica-se apenas ao Windows.
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, 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.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.
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.