Avatar billede heyn Nybegynder
18. januar 2006 - 14:54 Der er 12 kommentarer og
1 løsning

Compile php med ekstra extension på WIN XP

Hej Alle
Jeg ønsker at anvende image-funktionerne i PHP 5 så jeg kan lave grafisk visning af produktionsresultater opdelt i grupper i et 'lagkage'-diagram.
Så vidt jeg forstår kræver det at jeg indrager extension php_gd2.dll og gds32.dll.
Jeg syntes jeg på alle mulige måder har prøvet at includere disse, men får konstant meddelelse om at metode til at includere ikke fungerer.
Jeg tænker nu at jeg vil prøve at compile PHP 5 fra grunden istedet for at anvende PHP 5 - installer og så aktivere extensions i php.ini. Måske løser det problemet. PHP's hjemmeside giver en forklaring, men så vidt jeg kan se er den kun for linux?
Nu er spørgsmålene:

- Hvilken compiler skal jeg anvende på WIN XP?
- Hvordan tilføjer jeg de nævnte extensions?
- Hvor finder man kildekoden til disse extensions?

Mvh Christian Heyn
Avatar billede showsource Seniormester
18. januar 2006 - 15:00 #1
Det med compile, har jeg endnu ikke prøvet, så jeg er blank ------

Men nu skriver du "installer" og her er jeg ret sikker på du ikke kananvende medflg. extensions.

PHP som skal afvikles med en DLL for at du kan tilføje extensions

Er det IIS eller APache som webserver?
Avatar billede Slettet bruger
18. januar 2006 - 15:01 #2
Ehm...man compiler ikke PHP på Windows :)

Du skal ind i php.ini og rette dit extensions dir til så det peger på f.eks. C:/PHP/extensions.

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/PHP/extensions"

samt fjerne udkommenteringen udfor php_gd2.dll
extension=php_gd2.dll
Avatar billede heyn Nybegynder
18. januar 2006 - 15:38 #3
Ja dette med at udkommentere extensions forstår jeg. Det gør jeg så, og desuden tilføjer jeg extension gds32.dll som efter sigende skulle være nødvendig. Det funger bare ikke!!!
Jeg har prøvet at placere dem i c:\programmer\php\ext\, c:\windows\ og c:\windows\system32\ og selvfølgeligelig sat extension_dir lig de respektive stier i php.ini.

Jeg bruger ISS-server. Flest medarbejdere kender den - derfor.

Kan man virkelig ikke få C++-kildekode til selv at compile php på windows - hvis man altså kender den rette compiler?

Mvh Christian
Avatar billede Slettet bruger
18. januar 2006 - 15:44 #4
Hvilken fejl får du?

Dine extensions bør placeres i mappen PHP/extensions. Derinde bør der iøvrigt ligge en del i forvejen.
Avatar billede heyn Nybegynder
18. januar 2006 - 16:50 #5
Fejlmeddelelsen er:

"PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_gd2.dll' - den angivne procedure blev ikke fundet."

Mit extensions_dir = "C:\Programmer\PHP\ext\"

Det skal siges at jeg samme sted har placeret extensions php_mysql.dll og php_ldap.dll - og de fungerer!

Mvh Christian
Avatar billede heyn Nybegynder
18. januar 2006 - 17:00 #6
Hov - jeg glemte lige. Ovenstående fejl er en popup - alert.
Nedenstående er selve den fejl som kommer på siden.

Fatal error: Call to undefined function imagecreate() in C:\produktion.hum.ku.dk\WEB\ldap\test_lagkage.php on line 4
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Programmer\PHP\ext\php_gd2.dll' - Den angivne procedure blev ikke fundet. in Unknown on line 0

Mvh. Christian Heyn
Avatar billede pidgeot Nybegynder
18. januar 2006 - 17:01 #7
Har du prøvet at kopiere gds32.dll ind i c:\Windows\System32? Det er muligt det bare er det der skal til.
Avatar billede heyn Nybegynder
18. januar 2006 - 17:07 #8
Ja - den ligger der allerede.
Avatar billede showsource Seniormester
18. januar 2006 - 17:45 #9
Det med at compile, på
http://dk.php.net/downloads.php
kan man jo hente sourcen. OG så skal du jo ha' en compiler installeret.

Og så er jeg vist forkert på den med at PHP skal afvikles som "module" (dll) for at tilføje extensions,

anyway,
Nogle extensions, kræver at de ligger i windir (systemdir) mens andre ikke gør.

Dette:

Fejlmeddelelsen er:

"PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_gd2.dll' - den angivne procedure blev ikke fundet."

Mit extensions_dir = "C:\Programmer\PHP\ext\"

Viser jo klart 2 forskellige stiangivelser

Selv har jeg:
extension_dir = "c:\php\ext"

og for at bruge GD, har jeg blot fjernet ; foran linien med:
extension=php_gd2.dll

Men, for at bruge mysql,
extension=php_mysql.dll
ligger der en kopi af libmysql.dll i mit windir
Avatar billede heyn Nybegynder
19. januar 2006 - 13:43 #10
Ang. Dette med fejlmeddelelsen. Stierne var selvfølgelig ens. Jeg skrev bare fejl fordi jeg prøvede forskellige stier som extension_dir.

Som nævnt fungerer mine mysql.dll og ldap.dll ok når jeg placerer dem i samme extension_dir. Det er kun php_gd2.dll der giver problemer. Og det er vel og mærket ikke fordi php ikke kan finde filen.

Hvad vil det sige at man anvender php som module?

Har du et godt forslag til en open source c++ compller som kan bruges - så vidt jeg forstår er det ikke helt ligegyldigt hvilken man bruger?

Mvh Christian
Avatar billede heyn Nybegynder
09. november 2006 - 14:16 #11
Tak. Lægger i et svar - mildest talt lidt forsinket!!!

Mvh Christian
Avatar billede showsource Seniormester
19. november 2006 - 06:51 #12
ehh, johhh ...
Avatar billede heyn Nybegynder
17. februar 2008 - 09:58 #13
Og mildest talt en forsiket accept
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester