[PHP/MSSQL] CGI error

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
Hoi,

ik heb op mijn pc pas MS SQL server geinstalleerd, zodat ik ook MSSQLdatabases kan gebruiken vanuit PHP. SQL server is geinstalleerd, database geimporteerd, user/rechten aangemaakt (via de SQL Server Mangement Studio), werkt allemaal prima. :)

In de php.ini heb ik de mssql regel uitgecomment, en ik heb een of andere DLL in de windows/system32 map gezet. So far so good. Wanneer ik echter vanuit PHP probeer de database te benaderen krijg ik de volgende error:
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
Het gaat specifiek fout op de mssql_connect() functie. Wanneer ik een andere (foutieve) servernaam of database naam opgeef krijg ik een "Could not connect to database server", dus mijn servernaam lijkt goed.

Wat ik ook vreemd vind is dat dezelfde code bij mijn collega zonder problemen werkt, het enige verschil is de PC: hij draait W2k, IIS, PHP 4.x - ik draai WinXP, IIS, PHP 5.1.4. MySQL draait bij mij overigens probleemloos.

Ik heb dit topic al gevonden, maar dat word ik dus niet veel wijzer van:
http://gathering.tweakers.net/forum/list_messages/874581

Iemand tips en/of trucs?
Ik ben een complete n00b wat MSSQL betreft, dus alles is welkom ;)

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
Hoe connect je naar Sql Server ? Maw, hoe ziet je connection string er uit ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • MindStorm
  • Registratie: Juli 2002
  • Laatst online: 16-01-2024
Werken normale PHP pagina's wel? De fout die jij vermeld is een probleem dat ik en veel andere mensen ook zijn tegengekomen bij het configureren van PHP4/5 op IIS6 (zowel WinXP als Win2k3).

Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
whoami schreef op dinsdag 08 augustus 2006 @ 22:06:
Hoe connect je naar Sql Server ? Maw, hoe ziet je connection string er uit ?
Je bedoelt het mssql_connect commando? Dat is waar hij op crasht in ieder geval
code:
1
2
$db= mssql_connect('RUBEN\SQLEXPRESS')
    or die('Could not connect to database server');
MindStorm schreef op dinsdag 08 augustus 2006 @ 22:15:
Werken normale PHP pagina's wel? De fout die jij vermeld is een probleem dat ik en veel andere mensen ook zijn tegengekomen bij het configureren van PHP4/5 op IIS6 (zowel WinXP als Win2k3).
Jahoor, PHP draait als een zonnetje, net als MySQL :)
Overigens staat MSSQL ook netjes in de phpinfo genoemd.

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

zie dit comment in de php manual voor mssql_connect:
To connect to SQL Server 2005 Express on Windows, do it like this:
mssql_connect ('localhost,1433', '[redacted]', '[redacted]');
(aangezien je het over de Management Studio hebt neem ik aan dat je SQL 2005 hebt)

[ Voor 13% gewijzigd door TheRookie op 09-08-2006 08:41 . Reden: +note ]


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
Nu krijg ik een "Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.", dus dat gaat de goede kant op! Nu even zoeken hoe ik dat op ga lossen :)

Ik vind het overigens wel vreemd dat het bij mijn collega wel werkt (w2k in plaats van winXP)?

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 07:28
:+
Xcalibur schreef op woensdag 09 augustus 2006 @ 09:16:
Nu krijg ik een "Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.", dus dat gaat de goede kant op! Nu even zoeken hoe ik dat op ga lossen :)

Ik vind het overigens wel vreemd dat het bij mijn collega wel werkt (w2k in plaats van winXP)?
probeer eens met een sql account in te loggen ipv. met een windows account ?

edit: En nu schiet me ineens iets te binnen: hoe draai je php ? Toevallig ISAPI ?

[ Voor 8% gewijzigd door StevenK op 09-08-2006 09:30 ]

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
StevenK schreef op woensdag 09 augustus 2006 @ 09:26:
:+
[...]
edit: En nu schiet me ineens iets te binnen: hoe draai je php ? Toevallig ISAPI ?
uhh... ik denk CGI? Vanwege de CGI error :?
Kan ik dat ergens zien?


Verbinding werkt nog steeds niet btw. Ik heb gevonden dat het wel verstandig is om de 'Server Authentication' in te stellen op 'SQL Server and Windows Authentication mode', dus dat heb ik gedaan. Maar tot zover zonder effect dus...

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 07:28
Xcalibur schreef op woensdag 09 augustus 2006 @ 09:38:
[...]


uhh... ik denk CGI? Vanwege de CGI error :?
Kan ik dat ergens zien?
In je IIS configuratie.
Verbinding werkt nog steeds niet btw. Ik heb gevonden dat het wel verstandig is om de 'Server Authentication' in te stellen op 'SQL Server and Windows Authentication mode', dus dat heb ik gedaan. Maar tot zover zonder effect dus...
OK, je hebt 'm dus nu op 'mixed mode' staan, da's handig. Maar heb je nu al geprobeerd een sql account, desnoods sa, te gebruiken ipv een windows account ?

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Nu online
sa gebruiken is niet echt aan te raden. :)

Je kan dan gewoon beter een nieuwe account maken in Sql Server met enkel de nodige rechten, en daarmee inloggen.

Welke Windows account gebruikt PHP om in te loggen op Sql Server, als je geen Sql Server authentication gebruikt ? Eens je dat uitgevogeld hebt, moet je eens nagaan of die account toegang heeft tot Sql Server en op je DB. (Als je Windows authentication gebruikt).
Als je geen Windows Auth gebruikt, of wilt gebruiken: nieuwe user account maken in Sql Server, rechten geven op de nodige DB, en die account dan gebruiken in je connection string.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
als ik inlog met de 'sa' user, krijg ik een andere error, namelijk op mssql_select_db()

code:
1
Could not locate entry in sysdatabases for database 'AMS10'. No entry found with that name. Make sure that the name is entered correctly. (severity 16)


De users 'sa' staat echter wel genoemd bij de users van database AMS10?

Ik heb ook geprobeerd een nieuwe user 'test' toe te voegen aan deze database, maar daarop krijg ik de foutmelding "test is geen geldige aanmelding of u bent niet gemachtigd (Error: 15007)"

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
whoami schreef op woensdag 09 augustus 2006 @ 09:55:
nieuwe user account maken in Sql Server, rechten geven op de nodige DB, en die account dan gebruiken in je connection string.
Ik heb in Management Studio Express een nieuwe account gemaakt:
code:
1
RUBEN\SQLEXPRESS -> Security -> Logins -> New login

Die heb ik op SQL Server Authentication gezet en een wachtwoord gegeven.
Ook heb ik deze aan mijn database toegewezen, waarna ik hem ook terugzie in:
code:
1
RUBEN\SQLEXPRESS -> Databases -> AMS10 -> Security -> Users


Wanneer ik deze user/pass in mijn mssql_connect() gebruik krijg ik echter nog steeds de melding "Login failed for user ...". Heb ik iets fout gedaan bij het aanmaken van de user?

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
Xcalibur schreef op woensdag 09 augustus 2006 @ 10:10:
als ik inlog met de 'sa' user, krijg ik een andere error, namelijk op mssql_select_db()

code:
1
Could not locate entry in sysdatabases for database 'AMS10'. No entry found with that name. Make sure that the name is entered correctly. (severity 16)
ik heb nu in mijn php.ini de waarde 'mssql.secure_connection' op 'On' gezet, ipv 'Off'.
Nu krijg ik geen foutmelding meer op mijn username, maar op alle users de bovenstaande melding...

Ik heb het idee dat ik weer een stapje dichterbij kom :)

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
schopje O-)

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 07:28
Kun je wel query analyzer bij die database komen ?

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
StevenK schreef op vrijdag 11 augustus 2006 @ 21:44:
Kun je wel query analyzer bij die database komen ?
via de Management Studio Express kan ik alles met de database doen wat ik wil.
via mijn PHP code kan niet op de database inloggen, laat staan queries uitvoeren...

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 07:28
Xcalibur schreef op zaterdag 12 augustus 2006 @ 11:39:
[...]

via de Management Studio Express kan ik alles met de database doen wat ik wil.
Maar log je dan wel met hetzelfde account in ?

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 09-06 22:52
op de Management Studio log ik met m'n windows user in, maar dat pikt m'n PHP om een of andere reden niet... dat is de essentie van het probleem eigenlijk :P

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 07:28
Xcalibur schreef op maandag 14 augustus 2006 @ 10:02:
op de Management Studio log ik met m'n windows user in, maar dat pikt m'n PHP om een of andere reden niet... dat is de essentie van het probleem eigenlijk :P
Maar om een probleem op te lossen moet je niet alleen kijken naar het probleem, maar ook analyseren welke aspecten wel werken.

Was advocaat maar vindt het juridische nog steeds leuk

Pagina: 1