Eu não consegui obter uma conexão SQL trabalhando no php 5.4.14, mas consegui fazer o downgrade para 5.3 e fazê-lo funcionar. Eu aprendi muito ao longo do caminho e queria postar aqui para ajudar os outros que vêm depois.
Sobre o meu ambiente: Windows Server 2003 IIS versão 6.0 SQL Server 2005, localizado em outra máquina.
Instruções para instalar o PHP 5.3.xx: 1. Desinstale qualquer versão do php anterior que você não esteja usando. Você pode ter mais de uma versão do PHP instalada ao mesmo tempo.
-
Instale o Web Platform Installer 4.6 da Microsoft. link
-
Uma vez instalado, execute-o e vá para a guia Aplicativos.
-Procure por "php". -Instalar o PHP versão 5.3.xx E "Drivers da Microsoft para PHPv5.3 para SQL Server no IIS" -
Baixe o "Microsoft Drivers 3.0 para PHP para SQL Server", SQLSRV20.EXE, de link . Isso é muito importante que você selecione o pacote SQLSRV20.EXE e não o pacote SQLSRV30.EXE. "Instalar" o pacote SQLSRV20.EXE em qualquer lugar. Você estará copiando dois drivers desse diretório na etapa cinco. -Nota: Para qualquer um baixar o SQLSRV30.EXE para uma configuração de instalação diferente e que recebe o erro "SQLSRV30.EXE não é um aplicativo Win32 válido", você pode contornar isso usando 7-zip e unextracting seu conteúdo. (Você pode tratar o .exe como um arquivo.)
-
Navegue até o diretório de instalação do PHP (no meu caso, C: \ PHP \ v5.3). Em seguida, digite o diretório "ext".
-Exclua dois arquivos: "php_pdo_sqlsrv.dll" e "php_sqlsrv.dll" - Copie esses dois arquivos, "php_pdo_sqlsrv_53_nts_vc9.dll" e "php_sqlsrv_53_nts_vc9.dll", do diretório que você instalou no pacote SQLSRV20.EXE.
-Nota: No nome do arquivo para o driver, "nts" significa "não-thread seguro", vc9 é o ambiente que foi usado para compilar o driver / php, e "53" se correlaciona com a versão do php em uso (em Neste caso, php versão 5.3.whatevertheminorversionis). Você deve sempre instalar a versão não thread-safe no Windows. O Web Platform Installer da Microsoft faz isso por você. -
Abra o seu arquivo php.ini (localizado no diretório raiz de onde o PHP está instalado. No meu caso, isso foi C: \ PHP \ v5.3 \ php.ini) delete essas duas linhas que estarão próximas do fim do arquivo:
extension = php_sqlsrv.dll
extension = php_pdo_sqlsrv.dll
E adicione estas duas linhas:
extension = php_sqlsrv_53_nts_vc9.dll
extension = php_pdo_sqlsrv_53_nts_vc9.dll
-
No IIS, adicione aplicativos php a um pool, se ainda não estiver pronto, clique com o botão direito do mouse no pool e pressione a tecla para reciclar. Você deveria ser bom para ir!
-Você também pode tentar reiniciar o serviço de administração do IIS
RESOLUÇÃO DE PROBLEMAS Meu aplicativo que eu estava executando minha página phpinfo.php não estava em um pool de aplicativos php. Ele estava sendo executado em um pool de aplicativos do asp.net. Depois de mover meu aplicativo php para seu próprio pool e reiniciar o pool de aplicativos, o driver SQL apareceu.
Você pode precisar configurar o arquivo fcgiext.ini em C: \ WINDOWS \ system32 \ inetsrv. Sob a seção de tipos, você deve ter listado algo como "php = PHP53_via_FastCGI" e depois "[PHP53_via_FastCGI] ExePath = C: \ Arquivos de Programas \ PHP \ v5.3 \ php-cgi.exe "
"php = PHP53_via_FastCGI" deve se correlacionar com a instalação do PHP que você deseja no IIS. Se você tinha outra seção para "PHP54_via_FastCGI" e você quer usar o PHP 5.4 para páginas, então você deve mudar este valor para "php = PHP53_via_FastCGI".