php_mssql.dll e php_sqlsrv_56_ts.dll

585 views
Skip to first unread message

Diego Armando Cacilha

unread,
Apr 28, 2016, 9:18:43 AM4/28/16
to php-brasil
Bom dia Galera!

Eu estou dando manutenção a uma aplicação que está rodando num Apache (Linux) com o PHP 5.3.3. Esse servidor possui os diretórios da aplicação de produção e homologação. 
Estou tentando criar um ambiente no meu computador (para testes e novas implementações). Para isto, estou usando o XAMPP com o PHP 5.6.15, e meu computador é Windows 7. Copiei os diretório/fontes do ambiente de produção (Linux - PHP 5.3.3) para o meu ambiente do XAMPP do meu computador, e é aí que começam os problemas:
O ambiente de produção usa a php_mssql.so (no windows esse arquivos são .dll). Essa 'extension' do PHP usa as funções descritas nessa documentação do PHP, um exemplo é "mssql_connect()". Para o meu ambiente do XAMPP eu teria que configurar o php.ini com as 'extensions' necessárias, etc. Porém, eu não encontro para download, em lugar algum, as dll necessárias, no caso "php_mssql.dll". Aliás, eu até encontrei, mas se eu a usar, quando eu iniciar o meu Apache, é apresentado uma mensagem dizendo algo do tipo "O programa não pode ser iniciado porque está faltando php4ts.dll no seu computador. Tente reinstalá-lo para resolver o problema".
Anteriormente a isso, eu havia executado os procedimentos "padrões". Ou seja, acessei o site do Microsoft, baixei os drivers e fiz a configuração do meu ambiente (editar php.ini, etc). Só que o driver disponibilizado pela MS possui o "php_pdo_sqlsrv_56_ts.dll" e "php_sqlsrv_56_ts.dll". O problema com essas dll é que elas usam as funções descritas nessa documentação do PHP, por exemplo "sqlsrv_connect()", que equivale a "mssql_connect()". Ou seja, obviamente a minha aplicação não vai funcionar, pois as dll que tenho usam funções diferentes do que a aplicação está usando.
Se o código não fosse uma BAGUUUUUNÇA (inclusive esse é o motivo de eu querer montar um ambiente no meu computador), eu trocaria as funções atuais pelas funções que a minha dll precisa.

Então é isso aí... não sei se consegui explicar, mas o meu problema está relacionado a essas DLL que eu não tenho. Alguém consegue me ajuda?

Obrigado!

André Severino

unread,
Apr 28, 2016, 9:26:20 AM4/28/16
to php-b...@googlegroups.com
Primeira coisa:

Se o servidor está com PHP 5.3.x, você precisa usar o PHP 5.3 no seu ambiente. Depois você tenta resolver esses outros problemas visto que do 5.3 até o 5.6 mudou muitaaaa coisa e esse lance do php_mssql vai ser o de menos se você conseguir resolver ele e rodar o php 5.6 no apache 2.4.

Baixa o xampp com 5.3 + apache2.2

Abraço

--
Você recebeu essa mensagem porque está inscrito no grupo "php-brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para php-brasil+...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para php-b...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/php-brasil.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Atenciosamente,

---------------------------------------------------------------------------------------------------------------------------
André da Silva Severino
site:           http://andrewd.com.br
email:        an...@andrewd.com.br
mobile:      (19) 98847-3747
whatsapp: (19) 98847-3747
skype:       andredasilvaseverino
-------------------------------------------------------------------------------------------------------------------------
Message has been deleted

André Severino

unread,
Apr 28, 2016, 12:22:02 PM4/28/16
to php-b...@googlegroups.com
@Zero,

Esse arquivo é um servidor web(apache), banco de dados(mysql) e um interpretador php ? Eu posso criar um sistema e rodar e com isso rodar ele usando um pendrive ?

Abraço

Em 28 de abril de 2016 13:06, zero fernandes <zero...@gmail.com> escreveu:
Se estiver interessado em um sistema php+Apache+MySQL o qual possa ser executado em qqualquer disco - até mesmo - em pen-drives... você pode baixar e instalá-lo completamente esquecendo totalmente esses aplicativos do tipo "tudo-em-um" os quais ficam residentes - consumindo recursos da máquina.

https://www.dropbox.com/s/syy35dfwtr72rip/s32.zip?dl=0


--
Você recebeu essa mensagem porque está inscrito no grupo "php-brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para php-brasil+...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para php-b...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/php-brasil.
Para mais opções, acesse https://groups.google.com/d/optout.

Diego Armando Cacilha

unread,
Apr 28, 2016, 12:39:17 PM4/28/16
to php-brasil
Boa tarde, 
Primeiramente obrigado pelo retorno. 

Bom... eu até tentei seguir a tua sugestão, mas encontrei dificuldades para achar a versão 5.3 do PHP. Também não entendi como faria para instalar o XAMPP com outra versão do PHP e Apache (cada versão do XAMPP possui determinada versão do PHP e Apache).

Concordo com você com relação às diferenças entre a 5.3 e a 5.6 do PHP, mas acredito que essas diferenças sejam irrelevantes para a solução do meu atual problema. Veja que eu terei que perder um bom tempo tentando fazer o XAMPP rodar o Apache e o PHP de versões diferentes às que o instalador configura.

A minha dúvida é bem pontual e de fato essa é a questão que faz com que o meu código não funcione. Quando eu tento rodar a aplicação, o PHP retorna os seguintes dizeres: Fatal error: Call to undefined function mssql_pconnect() in ... Ou seja, a dll que estou usando possui a sqlsrv_connect() para conectar-se ao banco, ao invés de mssql_pconnect(). Nesse caso eu teria que alterar os meus fontes para que use o sqlsrv_connect().

André Severino

unread,
Apr 28, 2016, 12:56:18 PM4/28/16
to php-b...@googlegroups.com
Vou responder sua dúvida pontual, na verdade já fiz isso.

Siga esses passos:

1-) Remove esse xampp que está na sua máquina;
2-) Faça o download do xampp com as versões compatíveis (https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.3/);
3-) Habilita o php_mssql.dll no php.ini;
4-) Have fun!


André Severino

unread,
Apr 28, 2016, 1:14:47 PM4/28/16
to php-b...@googlegroups.com
Apenas vou comentar sobre uma coisa que você disse:


Concordo com você com relação às diferenças entre a 5.3 e a 5.6 do PHP, mas acredito que essas diferenças sejam irrelevantes para a solução do meu atual problema.

Sim, você não vai resolver seu problema atual usando a versão 5.3, mas a questão é que você vai criar mais problemas usando a versão 5.6 do que a 5.3 e o conceito da palavra 'irrelevantes' vai se transformar em 'relevantes'. Já que na versão 5.3 ele tem a .dll que você precisa dentro do pacote de extensões do próprio xampp e a versão do apache também, tudo compatível com o seu servidor.

Já começa que o seu sistema esta usando conexão persistente e imagina o resto do código, você mesmo disse que está uma 'BAGUUUUUNÇA'.

Diego Armando Cacilha

unread,
Apr 28, 2016, 1:28:31 PM4/28/16
to php-brasil
Entendi... Vou fazer o que você sugeriu.

Gostaria de aproveitar e te parabenizar pelo apoio ao grupo. Não se vc é o adm, mas vc está sempre participando de muitas discussões do grupo, contribuindo e dando dicas. Parabéns! 
Outra coisa: consigo o seu contato para trocarmos ideias no Hangouts? Se sim, podes me adicionar: cacil...@gmail.com

Sim. É bem bagunçado. Na verdade a minha tarefa é ajeitar essa naba. O código não é meu. Estou apenas dando manutenção.

zero fernandes

unread,
Apr 28, 2016, 1:51:06 PM4/28/16
to php-brasil


Em quinta-feira, 28 de abril de 2016 13:22:02 UTC-3, André Severino escreveu:
@Zero,

Esse arquivo é um servidor web(apache), banco de dados(mysql) e um interpretador php ? Eu posso criar um sistema e rodar e com isso rodar ele usando um pendrive ?
---
Esse é um sistema completo, pode rodar perfeitamente como deseja.
Basta descompactá-lo na raiz do disco escolhido, CLARO, tomando o cuidado para não sobrescrever pastas com os mesmos nomes do .zip.
Por ser 32bit pode ser executado em qualquer máquina Windows - 32 ou 64bit.

Quanto ao mssql, será preciso habilitar a extensão, assim como qualquer outra a qual se deseja usar.





 

André Severino

unread,
Apr 28, 2016, 2:02:53 PM4/28/16
to php-b...@googlegroups.com
@Zero, entendi. Obrigado

@Diego, enviei o convite para você, depois se quiser só aceitar. E outra coisa, não comentei isso antes porque não sei se você sabe ou não mas para você se conectar ao sql server você vai precisar instalar o NativeClient dele nessa máquina.

Abraço

--
Você recebeu essa mensagem porque está inscrito no grupo "php-brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para php-brasil+...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para php-b...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/php-brasil.
Para mais opções, acesse https://groups.google.com/d/optout.

Diego Armando Cacilha

unread,
Apr 28, 2016, 2:12:11 PM4/28/16
to php-brasil
@André, tô ligado no Native Client!
Vlw!
Message has been deleted

Diego Armando Cacilha

unread,
Apr 29, 2016, 10:16:48 AM4/29/16
to php-brasil
Galera, apenas para dar um feedback;
consegui resolver o problema seguindo orientações do @André. Instalei o XAMPP 1.7.4. Essa versão tem o PHP 5.3, que já possui os dll que eu precisava.

Obrigado @André!!
Reply all
Reply to author
Forward
0 new messages