Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite amigos,
estou com um problema ao tentar me conectar ao SQL server 2005 com PHP 5.6. O servidor é o IIS.
Contudo, o PHP está rodando normal. Mas há algumas coisas que notei e não compreendo; Vamos por partes:
Veja abaixo na tela do phpinfo():
1. na linha "Configuration File(php.ini) Path", que mostra onde deveria estar o meu php.ini.
2. na linha "Loaded Configuration File" deveria mostrar o caminho correto do meu php.ini, mas exibe "(none)".
De fato, verifiquei em C:\Windows e não há o arquivo php.ini
Procurei esse arquivo em C:\php. Busquei por "php.ini" e retornaram dois arquivos:
1 - php.ini-development
2- php.ini-production
Onde está o php.ini? O que devo fazer?
Já fiz isso.
Fiz a cópia do php.ini-development e renomeei o arquivo para php.ini, mas, a tela do phpinfo() não carrega mais.
Exibe a mensagem
500 - Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed.
Porém, executei um script simples em php e está rodando normal.
Dentro do IIS você tem acesso ao PHP Manager?
Caso tenha, verifique para qual pasta está apontando o executável em PHP Setup.
Se não tiver ele, instala o Microsoft Web Platform e faça a instalação do PHP por ele, inclusive com os drivers para acesso ao SQL Server.
tenho acesso sim.
"Caso tenha, verifique para qual pasta está apontando o executável em PHP Setup."
Como verifico?
*Seria uma solução instalar outra versão por cima?
Clica no PHP Manager, dentro do IIS, de preferência em Sites/Default Web site (que por padrão aponta para Inetpub/wwwroot/, que é onde provavelmente seu site está, correto?).
Dentro do PHP Manager você consegue visualizar para onde está apontando. Se não estiver apontando para lugar nenhum você pode clicar em Register e apontar para onde o PHP está na sua máquina ou então instalar através do Web Platform.
Não tem PHP Manager no IIS. Emtão pesquisei pela web e vi isso:
"Muita gente pediu e foi lançado no Codeplex o PHP Manager. Com essa ferramenta você pode gerenciar uma ou mais
versões de PHP, mas só é compatível com o IIS 7 e 7.5.
O meu IIS é o 8.
Vou ver o que faço...
Opa! Houve um avanço!
Através do Microsoft Web Platform instalei uma versão mais nova do php (PHP Version 5.6.22) por cima da já instalada (PHP Version 5.6.15) e agora a tela do phpinfo(); esta exibindo isso:
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: C:\Program Files (x86)\PHP\v5.6\php.ini
Agora sabemos onde tá o *php.ini **e* podemos avançar para realizar a conexão com o SQL.
Através do PHP Manager você consegue habilitar e desabilitar extensões.. verifica se possui a extensão do sql server r se está habilitada. Caso não esteja, você consegue instalar pelo Web Platform.
Verifiquei e estão habilitadas as extensões:
php_sqlsrv.dll
php_pdo_sqlite.dll
php_pdo_sqlsrv.dll
E agora? Como realizar uma conexão. um teste?
Veja na URL abaixo um exemplo
http://php.net/manual/pt_BR/function.sqlsrv-connect.php
Outras referências da biblioteca você encontra nesta outra URL
na linha onde define o server/host:
$serverName = "serverName\sqlexpress, 1542";
posso informar um IP?
$serverName = "102.0.0.10";
Opa!! Deu certo!
Conexao feita!
Obg amigo!
Você deve escolher um desses dois arquivos, e criar uma cópia com o nome de php.ini na mesma pasta. Estes arquivos são apenas exemplos.
Se for ambiente de desenvolvimento utilize o arquivo php.ini-development como exemplo.