Gå til innhold

PHP og MySQL integrasjon


Anbefalte innlegg

Jeg har sett at en anne her på forumet har spurt om akurat det samme og det endte opp med "utfeiging"

Jeg derimote kan ikke feige ut fordi jeg må kjøre IIS for andre oppgaver også. Jeg kjørte tidligere en delt løsning d3er jeg viderekoblet i IIS på URL'er som kjører PHP. Slik er det ikek lenger hos meg og alt skal gå på en IIS maskin. Dette er udiskutabelt! ;-)

 

Altså....

 

Jeg har en Win2K3 med IIS, PHP og MySQL installert. Problemet er å få integrert MySQL inn i PHP slik at det jkan benyttes PHP script mot MySQL. Jeg vil bl.a. kjøre Joomla. Dette får jeg ikke til. Jeg har gjort følgende:

 

i php.ini

* error_reporting = E_ALL & ~E_NOTICE

* extension_dir = "c:\php\ext\"

* extension=php_mysql.dll

* extension=pgp_mysqli.dld

 

i IIS

WebService Extensions: PHP, allowed, C:\php\php5isapi.dll

 

www.hdsoftware.no:

ISAPI filter: php -> c:\php\php5isapi.dll

Home Directory -> Scripts Only. [Configuration] -> Executable: c:\php\php5isapi.dll, all verbs, Script Engine

 

MySQL v4.1 er bare installert default og servicen er startet

 

Tross dette vil altså ikke MySQL integreres i PHP. Sjekk bare her: www.hdsoftware.no/test.php

test.php inneholder kunn dette:

<?php
phpinfo();
?>

 

Veldig fint om noen kan komme med et genialt svar som bare fikser alt sammen, slikt som "Sette en hake i følgende...." etc. ;-)

Lenke til kommentar
Videoannonse
Annonse

Jada. Dette har jeg selvsagt mgjort og selvsagt har jeg lest dullioner av slike på nettet de siste dagene. Problemet er fortsatt at MySQL ikke blir inmplementert i PHP. Jeg aner ikek hva dette skyldes og det er rimelig slitsomt. Jeg får laste ned en slik standard "komplett pakke" og se hvordan denne er satt opp. Kansje er det noe der...

Lenke til kommentar

Ingen config lastes. "Loaded Configuration File: None". Den forventer at php.ini legges i C:\WINDOWS, så du kan jo forsøke å legge den der.

 

btw. Hva er dette for noe? skal det ikke være php_mysqli.dll?

extension=pgp_mysqli.dld

Endret av jonepet
Lenke til kommentar

Hjalp ikke. Det som da skjedde var at serveren ikke lenger virket av en eller annen grunn. Nå er php.ini tilbake i C:\PHP katalogen og phpinfo() returnerer riktig igjen. Andre forslag?

 

Det som er så irriterende er at jeg tidligere kjørte Mamboo på en server. Riktignok for 3 år siden, men det funket som bare det. Jeg er temmelig sikker på at jeg har fulgt alle beskrivelser her... Noe fundamentalt må være feil. Det er jo helt sikkert noe jeg har glemt å gjøre eller ikke lagt merke til

Lenke til kommentar

Noen må da ha gjort dette mange ganger. Som tidligere nevnt er dette endringene jeg har i php.ini

 

i php.ini

* error_reporting = E_ALL & ~E_NOTICE

* extension_dir = "c:\php\ext\"

* extension=php_mysql.dll

* extension=pgp_mysqli.dll

 

 

Den første er jo egentlig uvesentlig i denne sammenhengen. Hva annet må jeg passe på da? Det virker på meg som at ikke disse extension greien eblir les inn i det hele tatt

Lenke til kommentar

OK. Dette er for dumt!!

 

Jeg har sjekket følgende:

Det er IKKE fler en EN php.ini på maskinen

Jeg bruker kunn ISAPI filter og ikke CGI

Dette ER en Windows 2003 maskin med IIS6

 

Hvis jeg legger php.ini i Windows katalogen som ble foreslått får jeg feilmelding når jeg prøver å lese SITE fra IE. Feilmeldingen er "No input file specified". Jeg har funnet ut at dette er det samme som den 404 feilmelding

 

Hvis jeg har php.ini liggendes under C:\PHP så fungerer PHP som forventet. Altså blir den lest inn

 

Hvis jeg derimot gjør endringer i PHP.INI filen så taes ikek disse endringene med. Uansett hva slags endringer jeg gjør så gir PHPINFO() nøyaktig den samme informasjonen. Dette henger jo IKKE på greip i det hele tatt! Ligger det neo cache greier her tro som tuller med meg?

 

Bare så det er sagt - når jeg restarter serveren så gjør jeg det slik:

net stop iisadmin

net start w3svc

 

All hjelp videre er svært ønsket...

 

Måtte bare legge til at hvis jeg renamer php.ini filen til noe annet så resulterer ikek dette i noe feil i det hele tatt. Det virker faktisk på meg som at PHP ikek leser den php.ini filen i det hele tatt, men fra et helt annet sted. Det er kunn hvis jeg putter den i Windows katalogen at ting feiler

Endret av HDSoftware
Lenke til kommentar

php.ini SKAL ligge i C:\WINDOWS, ellers blir den ikke lest. Det at PHP fungerer når den ligger i C:\php er fordi PHP kan kjøre uten noen php.ini, og da blir bare standardinstillinger brukt.

 

Sansynligvis har du en feil i filen. Jeg håper f.eks ikke de * er med i filen, samt siste linje er feil.

Lenke til kommentar
php.ini SKAL ligge i C:\WINDOWS, ellers blir den ikke lest. Det at PHP fungerer når den ligger i C:\php er fordi PHP kan kjøre uten noen php.ini, og da blir bare standardinstillinger brukt.

 

Sansynligvis har du en feil i filen. Jeg håper f.eks ikke de * er med i filen, samt siste linje er feil.

Ok. Da gjør jeg alt på nytt og gjør som følger:

 

Laster ned PHP 5.2.5-Win32-installer.msi og starter den

Trykker Next

Akksepterer Lisens og trykker Next

Endrer Install path til C:\php og trykker Next

Velger IIS ISAPI module og trykker Next

I Extras velger jeg både MySQL og MySQLi og trykker Next

Trykker så Install

Trykker Finish

 

Så laster jeg ned MySQL 5.1.22-rc-win32.zip og kjører setup

Trykker Next

Velger Complete og trykker Next

Drikker litt kaffe.......

Trykker Next to ganger på to bilder som ser ut som reklame

Sørger for at avkryssingen på "Configure MySQL server" er avkrysset og trykker Finish

Trykker Next

Velger Detaljert config og trykker Next

Velger Server Machine og rykker Next

Lar Multifunctional være valgt og tryker Next

Aksepterer InnoDB instillinger og trykker Next

Latr Brukerhåndtering være default (OLAP) og trykker Next

Lar porten være 3306 og lar default valget "Enable Strict Mode" være valgt og rykker Next

Karakterset er default til "Standard" og trykker Next

Lar den få installere som service som starter automatisk og krysser også av for "Include in path...." og trykker Next

Gir et root passord og trykker Next

Trykker Execute

Får en feilmelding som sier Error Nr. 2003, Cant connect to MySQL server on "localhost" (10061) og denne forteller videre at dette kan ha med brannmur å gjøre. Jeg trykker "Retry" for å se om det går og det gjør det. Trykker så Finish

For orden skyld installerer jeg GUI Tools for MySQL som lar meg jobbe med MySQL serveren

Jeg starter MySQL administrator for å se om jeg kommer in og for å få bekreftet at den kjører

Det gjør den og i vinduet som dukker opp får jeg teksten "MySQL Server is running"

 

Så er det IIS sin tur (dette er standard og bør vel strengt tatt ikke har noe med om MySQL virker med PHP å gjøre)

Først og fremst lager jeg en mappe på en disk jeg har satt opp til å være WEB Host. Jeg kaller mappen HDSoftware.no og ligger på E:

Så åpner jeg IIS Manager

er sjekker jeg at Web Extension er oppe. Det er den, PHP installeren lagde den for meg og den er satt til "Allowed"

Jeg høyreklikker på Web Sites og velger Add New Site og trykker Next

Setter Description til HD Software og trykker Next

Under IP Address and Port settings legger jeg inn www.hdsoftware.no på Host header for this site og trykker Next

Path settes til E:\HDSoftware.no og jeg lar Alow anonymeous access være påslått og trykker Next

I vinduet Permissions er kunn READ krysset av. Der legger jeg på Execute (such as ISAPI applications or CGI) da dette er noe jeg tror må være med. Jeg trykker også av for å kjøre Scripts da jeg så vidt jeg vet oppfatter PHP som script. Så trykker jeg Next og Finish

Så tar jeg egenskaper på den lagde web site og trykker properties.

På fanen "ISAPI filters" legger jeg inn:php - C:\php\php5isapi.dll

På fanen Home dir velger jeg "Scripts Only" på Execute Permissions.

Trykker på Configuration knappen og sørger for at .php peker på c:\php\php5isapi.dll

Så på fanen "Documents" legger jeg inn index.php da Joomla krever dette. og sletter de andre

 

Så i E:\HDSoftware.no mappen lager jeg en index.php fil som innheolder følgende:

<?php
PhpInfo();
?>

Så tester jeg med www.hdsoftware.no

PHPInfo viser som du sier at INI filen skal ligge i Windows katalogen og det gjør den ikke. I tillegg vises ikke MySQL og det skjønner jeg jo da. jeg kopierer derfor rått den php.ini filen som ligger under php katalogen og restarter serveren

 

JIPPI! Nå virker det! Jeg aner ikke hva jeg har gjort nå som jeg ikke gjorde i stad! Utrolig!! Men kjempe bra!!

Jeg hadde egentlig regnet med at dette ikke ville virke, men nå gjør det altså det. jeg skal med tiden endre litt på innholde i denne meldingen slik at den kan ligge som en "Sånn gjør du det" for andre som får problemer...

 

takker

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...