hey
ik moet hier een testomgeving inrichten met PHP, IIS en MSSQL en voor zover is mij hetvolgende gelukt:

- IIS Werkend.
- MSSQL Werkend.
- PHP Werkend.

Nu heb ik alleen het volgende probleem.
Ik moet via PHP een connectie maken naar de MSSQL database, nu weet ik dat de functie hiervoor is mssql_connect();
Maar zodra ik die functie aanroep komt die ermee dat die de functie niet herkent terwijl de module hiervoor wel in php geconfigureert is.
Ook als ik mysql_connect probeer krijg ik hetzelvde.
Ik heb hieruit een paar testjes uitgevoert met een While loopje, Echo en Session_start.
Dit werkt echter allemaal goed.
Heeft iemand enig idee waar het aan zou kunnen liggen ?

Wat onderliggende informatie:
- Ik heb op IIS een aparte website aangemaakt (genoemt FAQ) en hiervoor een map op C: aangemaakt en hem er netjes naartoe doorverwezen, deze staat wel ingesteld op poort 81. om de een of andere reden krijg ik hem niet op 80.
- Ik heb een handmatige installatie van PHP uitgevoert in verband met IIS, dit heb ik gedaan met de guide van Deze website
- De server is Windows Server 2003
- De MSSQL versie is 2005
- De versie van PHP is natuurlijk versie 5
- De IIS versie is degene die er bij Windows Server 2003 bijzat

-- Vincent
Wat is de exacte foutmelding?
Ik had namelijk als probleem dat ik de mssql module niet had gecompiled met Windows.. (maar dan met MYsql, maar het werkt hetzelfde..)
Hij geeft een "Fatal error: Call to undefined function mssql_connect();"
Verdere errors ben ik (nog) niet tegengekomen.
In php.ini staat echter de extension php_mssql.dll wel aan.
Waarschijnlijk moet je die dll kopiëren naar een systeemmap van Windows. Dat is ook zo bij het gebruik van LDAP.

Probeer eerst eens c:\php\php_mssql.dll te kopiëren naar c:\winnt\system32\php_mssql.dll. Herstart daarna de IIS-server.

Anders kan je nog eens hier kijken.

Edit:
Overigens is het wel mogelijk om meerdere IIs-servers op poort 80 te draaien. Lees daarvoor even de documentatie van IIS door.

Elwin
Oke bedankt
Ik zal het eventjes gaan testen.
Zal zo wel even weten of het is gelukt.
Waar je ook even naar moet kijken is of je de juiste php.ini hebt bewerkt, want het klinkt alsof je de verkeerde hebt aangepast. Normaal gesproken wordt de php.ini welke in je php-directory staat het eerst gebruikt.
Ik heb het eventjes geprobeert maar het heeft geen effect gehad.

Echter, daarna heb ik even gekeken naar de eerste link van google van de link die elwin gaf.
Op basis hiervan heb ik php.ini van C:\php naar C:\Windows verplaatst.
Hierop was echter de verandering dat compleet php niet meer werkte.
Hij gaf dan ook geen error maar liet gewoon de php-code zien.

Ik heb trouwens de website overgezet naar poort 80.

** Edit **
in C:\windows staat zelf GEEN php.ini
Ik heb in het register aangegeven met behulp van de eerder genoemde website hem te laten verwijzen naar C:\php\php.ini

** Edit2 **
Ik ga even een test draaien met php_info()
De resultaten hiervan laat ik zo spoedig mogelijk weten
Ik heb even php_info() getest.
echter herkent die zelfs deze functie niet.
Dan staat hij niet aan dus, je weet zeker dat je het ; voor de extensie hebt weggehaald?
Ik heb voor alle extenties die ik verwacht nodig te hebben om te testen en voor later misschien de ; weggehaalt.
Hieronder valt dus ook php_mssql.dll
Ik zal nog 1 grondige check op de php.ini doen.
Indien iemand nog iets anders weet waar het aan kan liggen hoor ik het graag.
Misschien trap ik nu een open deur in, maar weet je wel zeker dat PHP correct geïnstalleerd is binnen IIS?

Elwin

Reageren