PHDiniz 0 Denunciar post Postado Setembro 29, 2011 Pessoal, instalei o IIS 6 + PHP 5.2.1 e não consigo colocar o mssql pra funcionar. Já verifiquei a linha no php.ini: extension=php_mssql.dll e está correta, segue meu php.ini: http://pastebin.com/uwLUgsnd Quando carrego uma página com MSSQL_CONNECT apresenta o seguinte erro: PHP Fatal error: Call to undefined function mssql_connect() in C:\Inetpub\wwwroot\index.php on line 2 O estranho é que está configurado corretamente e o arquivo php_mssql.dll existe dentro da pasta C:\PHP\ext :S Alguém por favor me ajude! Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
pixelrafael 7 Denunciar post Postado Setembro 29, 2011 não seria mysql_connect em vez de mssql_connect ? D: mande o código inteiro Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Setembro 29, 2011 Está correto, o DB é em Microsoft SQL Server. :) Código: <?php $msconnect = mssql_connect('127.0.0.1','sa','123'); mssql_select_db('Bancodedados',$msconnect); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 29, 2011 Pode ser que não tenha nada a ver e tenha sido só um erro de digitação, mas você ativou a extensão php_mssql.dll e disse que tem a a phpd_mssql.dll. Mas já te aconselho a atualizar tua versão do PHP para pelo menos 5.3. Não adianta querer a mais recente porque infelizmenet ainda foge da realidade dos servidores brasileiros, mesmo que seja a mais recomendada. Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Setembro 29, 2011 Desculpa, apareceu um D a mais ali... hehehe Já corrigi, foi erro de digitação mesmo. :) O arquivo é php_mssql.dll Então Bruno, optei por essa versão (5.2.1) pq só consigo instalar o Zend Optimizer 3+ nela. IIS 6 + FastCGI + PHP 5.3.x + Zend Optimizer 3.x não funciona ;) Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 29, 2011 Não seria problema com o Zend Optimizer então? De repente não existe uma versão compatível com 5.3 ainda (mesmo que eu duvide). Se você puder ficar sem, já é uma ajuda e tanto a virada de versão. Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Setembro 29, 2011 Pior Breno, é que o site está criptografado com Zend e usa conexões mssql, eu poderia usar o tal AppServ (hehe), mas um simples DoS leva ele ao chão. =S Já com o IIS não funciona assim, creio que ele filtre as conexões. Estou usando o 5.2.1 pq o zend é compativel com ele, já virei 3 noites procurando o zend pra 5.3, e tudo que achei foi que não desenvolveram free, pra ter acesso ao zend pra 5.3 teria que comprar o zend core (se não me engano), por isso to usando o 5.2.1. Compartilhar este post Link para o post Compartilhar em outros sites
Fabio Accoroni 0 Denunciar post Postado Setembro 29, 2011 Se não me engano, a partir do PHP 5 esse módulo foi desativado. O modulo para trabalho com o MSSql é o sqlsrv. você pode fazer o download dos drivers(dll) para trabalho com o sql server neste link: Download, fiquei uma semana tentando descobrir pq meu PHP 5.3 não funcionava com o SQL server, com esse driver funcionou. Desculpe se falei alguma besteira! rs Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 29, 2011 Pior Breno, é que o site está criptografado com Zend e usa conexões mssql, eu poderia usar o tal AppServ (hehe), mas um simples DoS leva ele ao chão. =S Já com o IIS não funciona assim, creio que ele filtre as conexões. Estou usando o 5.2.1 pq o zend é compativel com ele, já virei 3 noites procurando o zend pra 5.3, e tudo que achei foi que não desenvolveram free, pra ter acesso ao zend pra 5.3 teria que comprar o zend core (se não me engano), por isso to usando o 5.2.1. Ah! Não é possível. Tu é a segunda pessoa que me chama de Breno essa semana :lol: Dá uma olhada se isso te ajuda nesse meio tempo. Se não me engano, a partir do PHP 5 esse módulo foi desativado. O modulo para trabalho com o MSSql é o sqlsrv. você pode fazer o download dos drivers(dll) para trabalho com o sql server neste link: Download, fiquei uma semana tentando descobrir pq meu PHP 5.3 não funcionava com o SQL server, com esse driver funcionou. Desculpe se falei alguma besteira! rs Pior é que eu tinha essa suspeita também. Mas como nunca usei esse banco, fiquei quietinho. ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Setembro 29, 2011 Breno, uashushushusshauh Te juro, a primeira vez que mencionei seu nome aqui no post eu quase escrevi BRENO tbm, há algo errado com seu nome no fórum.. kkkkk Bruno, já tinha visualizado esse link que você me mandou antes, fiz do jeito que ta ai (claro, adaptando pra windows) e não rolou não =/ Vou fazer um teste no driver que o Fabio Accoroni informou, assim que terminar de testar volto aqui pra falar se funfou ou não. Obrigado a todos Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Setembro 29, 2011 É, também não deu certo não. Instalei o driver em C:\PHP\EXT, coloquei o extension=php_sqlsvr_53_nts_vc9.dll no php.info, dei restart no IIS e testei o script. Nada, o erro sumiu e a tela só fica em branco. Ai olhei a documentação e parece que tenho que mudar os mssql_connect para sqlsvr_connect, se realmente eu tiver que fazer isso, não resolve meu problema, pois o script está criptografado e não há como mudar isso. =/ Acho que estou sem opções e sem saída :'( Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 29, 2011 Sem saída eu não diria. Se não existe MESMO a possibilidade de reverter a codificação, talvez adquirindo o source original, você poderia criar um arquivo PHP e incluí-lo logo antes da abertura do primeiro <?php Esse arquivo nada mais seria que um conjunto de funções com os nomes das antigas do MSSQL que use as novas do SQL Server. Ex: function mssql_connect( $nomedoservidor, $username, $password ) { return sqlsrv_connect( $nomedoservidor, array( $username, $password ) ); } Mas antes disso, você testou se sua instalação "aceitou" a extensão? Tipo, pegou um arquivo de teste e usou a função antiga sobre uma base de dados / servidor existente? Outra: Você tem MESMO que usar IIS? Sei lá, de repente não, né... Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Setembro 30, 2011 Então Breno... auhauahauh #parei. Então Bruno, to com o SQL rodando com uma DB também, criei um teste.php e adicionei uma entrada pra conexão ao DB e no mesmo arquivo uma condição pra saber se conectou ou não, e apartir do mssql_* fica tudo em branco. Preciso usar o IIS pq ele não cai com DoS, minha outra opção seria o AppServ, mas se alguém der um "teco" com DoS o bicho morre. no PHPInfo não aparece nenhum mssql e nem sqlsvr =/ ------------------------------------------------------------- O que me deixa "encabulado" é que já vi "empresas" de hosting configurar IIS + PHP + Zend para clientes de VPS e Dedicados para clientes de jogos online (tipo MuOnline, Lineage...), onde funcionava corretamente. Agora não sei o que estou fazendo errado. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 30, 2011 Peraí, se não aparecem as extensões no PHPInfo então elas não estão sendo carregadas. Faça um teste habilitando alguma extensão que veio com o seu PHP, sem ser baixada à parte e que por padrão é desabilitada (sei lá, acho que EXIF, por exemplo). Habilita, salva o arquivo e reinicia o servidor. Se aparecer na lista, esse MSSQL ou SQLServer que você baixou não está funcionando. Tem também alguma coisa a ver com extensões TS e NTS (Thread Safety), mas não sei a fundo o que representam, mas sei qe podem zicar uma extensão. E vamos especulando, uma hora chegamos na resposta :P Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 30, 2011 essa nova extensão "SqlSrv" é para a versao 5.3 ou superior você está usando a 5.2.1 para testar de forma mais segura, verifique no phpinfo() se a library foi carregada info.php <?php phpinfo(); ?> lembrando que para trabalhar com o ms sql server usado o php precisa da library client chamada "ntwdblib.dll" que deve estar no folder system32.. você deve copiar para a pasta raiz de instalação do php outra dica é, ativar todas as mensagens de erro, caso esteja executando no ambiente de desenvolvimento, ou configurar o registro dos logs de erros, que é o mais adequado para ambientes em produção. Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Outubro 1, 2011 Então Hinom e Bruno, formatei o server e instalei tudo de novo, nova configuração: - Windows Server 2003 x86 - IIS 6.0 - PHP 5.2.10 NTS Agora o MSSQL ta rodando beleza, porém... o Zend Optimizer parou de funcionar, ou melhor, depois de formatar e reinstalar tudo ele não carregou :( Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 1, 2011 Durante a instalação do Optimizer ele identificou seu IIS, você informou os diretório de instalação do PHP e do Servidor e tal tudo certinho? Verifiou no PHPInfo se aparece Zend Optimizer naquela caixa cinza? Compartilhar este post Link para o post Compartilhar em outros sites
PHDiniz 0 Denunciar post Postado Outubro 1, 2011 Vi sim Bruno, lá informa Zend Optimizer 2.2 Mas a versão atualiza dele não consigo rodar =/ Caminho do php.ini: - C:\PHP\php.ini WebRoot: - C:\Inetpub\wwwroot Compartilhar este post Link para o post Compartilhar em outros sites