Jump to content
Sign in to follow this  
joaoPT

[resolvido]PHP com Sql server 2008 express

Recommended Posts

joaoPT

boas,

estou com bastantes dificuldades em me entender com isto.

Neste momento é me pedido que faça um coisa" simples" como uma ligação á base de dados do sql server atraves de um script php mas estou com grandes problemas em carregar as extensões.

Eu sei o básico do PHP mas trabalhei unicamente com mysql e wampserver .

Nunca tinha ouvido falar de sql server  e por isso preciso de ajuda,sabendo como faço uma coisa simples como ligar a base de dados conseguirei concerteza fazer o resto que me é pedido.

Obrigado.

Share this post


Link to post
Share on other sites
joaoPT

obrigado pela resposta mas já fiz todo o tipo de pesquisa e experiências incluindo esse manual.

Foi por não encontrar resposta que fiz este post

Share this post


Link to post
Share on other sites
visualshotmac

Bom dia.

Pois, nunca usei o PHP com o SQL Server 2008 express, mas tenho algumas aplicações PHP a funcionar com o SQL Server 2008 R2, mas à partida é possível sim...

Vais precisar das extensões para te ligares ao SQL, a partir do PHP, em Windows é um dll php_mssql.dll, e em Linux precisas de uma biblioteca tipo o FreeTDS para te ligares ao MsSql, depois é necessário no php.ini activar as respectivas bibliotecas.

Mais uma coisa o servidor Web e SQL Express estão no mesmo PC? É que ao que parece o SQL Express (pelo menos na versão 2005) não permitem ligações remotas, era necessário usar algo como o: SQL Server Surface  Area Configuration (não sei se na versão 2008 ainda funciona da mesma forma...)

Share this post


Link to post
Share on other sites
joaoPT

Estou a utilizar Windows

HTTP Error 404.3 - Not Found

The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

em cima  é o erro que dá quando carrego este script

<?php
// Server in the this format: <computer>\<instance name> or 
// <server>,<port> when using a non default port number
$server = 'WS-RECEP\SQLEXPRESS';

// Connect to MSSQL
$link = mssql_connect($server, 'sa', '123456');

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
?> 

Share this post


Link to post
Share on other sites
joaoPT

Bom dia.

Pois, nunca usei o PHP com o SQL Server 2008 express, mas tenho algumas aplicações PHP a funcionar com o SQL Server 2008 R2, mas à partida é possível sim...

Vais precisar das extensões para te ligares ao SQL, a partir do PHP, em Windows é um dll php_mssql.dll, e em Linux precisas de uma biblioteca tipo o FreeTDS para te ligares ao MsSql, depois é necessário no php.ini activar as respectivas bibliotecas.

Mais uma coisa o servidor Web e SQL Express estão no mesmo PC? É que ao que parece o SQL Express (pelo menos na versão 2005) não permitem ligações remotas, era necessário usar algo como o: SQL Server Surface  Area Configuration (não sei se na versão 2008 ainda funciona da mesma forma...)

Sim o servidor web e o sql server estão no mesmo computador.  Que extensões activo eu e aonde ?

Share this post


Link to post
Share on other sites
visualshotmac

Dento da pasta onde tens o PHP instalado por exemplo c:\ xampp\ php\ vais encontrar uma pasta chamada ext aí dentro deves ter um dll chamado: php_mssql.dll (certifica-te que ele existe!)

Depois abres o php.ini na pasta do php e procura por: extension=php_mssql.dll e descomenta-o... Depois é só reiniciar o servidor web e á partida fica a funcionar...

Share this post


Link to post
Share on other sites
joaoPT

Dento da pasta onde tens o PHP instalado por exemplo c:\ xampp\ php\ vais encontrar uma pasta chamada ext aí dentro deves ter um dll chamado: php_mssql.dll (certifica-te que ele existe!)

Depois abres o php.ini na pasta do php e procura por: extension=php_mssql.dll e descomenta-o... Depois é só reiniciar o servidor web e á partida fica a funcionar...

na pasta do wamp server está lá de facto esse ficheiro e no ficheiro php.ini retirei o ponto e virgula antes dessa extensão .

Continua igual

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Desculpa lá joaoPT, mas o problema não é a extensão do MS SQL Server... o problema é que provavelmente tens também o IIS a correr na máquina. E o IIS está a dizer que não podes correr PHP nele porque não está instalado o suporte no IIS

Se tens o WAMP a correr, então deverá estar na porta 8080... Experimenta: http://localhost:8080/

Abraço

Share this post


Link to post
Share on other sites
joaoPT

Desculpa lá joaoPT, mas o problema não é a extensão do MS SQL Server... o problema é que provavelmente tens também o IIS a correr na máquina. E o IIS está a dizer que não podes correr PHP nele porque não está instalado o suporte no IIS

Se tens o WAMP a correr, então deverá estar na porta 8080... Experimenta: http://localhost:8080/

Abraço

apaguei o iis do pc e estou a tentar novamente..

usando o codigo para conexão referidos posts acima e depois de descarregar as drives o resultado é este :

hbhfhfh.png

Share this post


Link to post
Share on other sites
joaoPT

como assim? tirando  o ; á extensão no php.ini?

eu reparei agora que o ficheiro php_mssql.dll não está presente no directório  ext ,descarreguei a extensão e coloquei-a no directório mas continua igual..

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Citando um forum:

There is no need to get nasty Steven... Shame on you.

Here is how to do it Noumian...

1. Stop all WAMP services and the SQL Server (Express) service

2. Get ntwdblib.dll version 2000.80.194.0 (http://webzila.com/dll/1/ntwdblib.zip OR get a free copy of ntwdblib.dll by downloading MS SQL Server 2000 SP4 from Microsoft Website. It contains a copy of ntwdblib.dll version 2000.80.194.0 in the system directory). Copy and replace any other versions of this file to the following locations:

a) Your PHP binaries folder (ie C:\wamp\bin\php\php5.2.6)

:) Your Apache binaries folder (ie C:\wamp\bin\apache\apache2.2.8\bin)

c) Windows\System32\

3. Configure SQL Server to accept TCP connections and Named Pipes through the SQL server configuration manager (yes you will need the client tools installed).

4. Configure SQL Server for Mixed mode authentication and remember the password you set for sa

5. Start the SQL Server Service

6. Edit your php.ini and set the mssql.secure_connection = On

7. Make sure your wamp folder has proper access rights (full control for 'everyone').

8. Start all services from the WAMP menu.

You can connect to your SQL Server instance like this:

$dbhandle = mssql_connect('.\SQLEXPRESS','username','password');

$db = mssql_select_db('databasename', $dbhandle);

Part of this was taken from some other forum.

Hoping this will help you.

Tanx0r

Tal como ele, espero que te seja útil. Ver mais em: http://www.wampserver.com/phorum/read.php?2,37335,37344

Se calhar, em português (brasileiro) será melhor: http://silas.theducks.com.br/2008/07/28/php-e-ms-sql-server-express-2005-no-windows/

Abraço

Share this post


Link to post
Share on other sites
joaoPT

obrigado mais uma vez pela resposta ,mas agora o wamp server ao iniciar dá erros de ficheiros que não estão lá

sendo que um deles está lá como se pode ver pela seguinte imagem

estalak.jpg

Uploaded with ImageShack.us

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

obrigado mais uma vez pela resposta ,mas agora o wamp server ao iniciar dá erros de ficheiros que não estão lá

php4ts !? Isso é para a versão php4 do WAMP :|

Acede ao ficheiro httpd.conf e verifica se tem algo que se assemelhe a este pedaço de código:

LoadFile "C:/WAMP/php/php-4.4.4-Win32/php4ts.dll"
LoadModule php4_module "C:/WAMP/php/php-4.4.4-Win32/php4apache2.dll"
AddType application/x-httpd-php .php

De qualquer forma, verifica se o php.ini que estás a editar é o respectivo do php-5.x :confused::D

Share this post


Link to post
Share on other sites
joaoPT

php4ts !? Isso é para a versão php4 do WAMP :|

Acede ao ficheiro httpd.conf e verifica se tem algo que se assemelhe a este pedaço de código:

LoadFile "C:/WAMP/php/php-4.4.4-Win32/php4ts.dll"
LoadModule php4_module "C:/WAMP/php/php-4.4.4-Win32/php4apache2.dll"
AddType application/x-httpd-php .php

De qualquer forma, verifica se o php.ini que estás a editar é o respectivo do php-5.x :confused::D

só tem esta linha, o resto não está lá.

"AddType application/x-httpd-php .php"

Eu estou a editar o php.ini do apache e do php-5.x porque acho que ele carrega o do apache

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

yup... fizeste bem...

verifica nos dois se o php_mssql.dll está descomentado :confused::D

Share this post


Link to post
Share on other sites
joaoPT

yup... fizeste bem...

verifica nos dois se o php_mssql.dll está descomentado :confused::D

confere estão os dois sem ponto e virgula

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.