magicgunnar Skrevet 7. mars 2009 Del Skrevet 7. mars 2009 (endret) Jeg vet ikke om dette er riktig forum for dette spørsmålet, men jeg prøver! Jeg skal bruke exec() kommandoen i php til å kjøre kommandoen "convert" i Imagemagick. Jeg bruker wamp, så jeg har installert Imagemagick i Windows. Problemet mitt er at det ikke er Imagemagick sin convert som blir kjørt, men Windows sin convert. Jeg kan løse problemet ved å sette eksplisitt path for convert, men da vil jeg måtte endre den når jeg skal laste disse filene til server, jeg hadde håpet å kunne gjøre dette på en smidigere måte. Jeg har satt path variabelen i Windows, slik at kommandoen convert kjører riktig fra kommandolinje, men altså ikke i php. Jeg har brukt: get_include_path() for å sjekke at pathen til Imagemagick ligger her. Noen som vet hva jeg har oversett? Endret 8. mars 2009 av magicgunnar Lenke til kommentar
magicgunnar Skrevet 8. mars 2009 Forfatter Del Skrevet 8. mars 2009 (endret) Her kommer en oppdatering: Etter 3-4 timer med prøving, feiling og googling, fant jeg at ved å legge til linjen: putenv("PATH=" . $_ENV['PATH'] . get_include_path()); Så funket det! Jeg skjønner altså at problemet mitt ikke er at det ligger feil verdi i include_path, men i path. Hvis jeg prøver å skrive ut verdien i $_ENV['PATH'] så er den tom. Det jeg heller ikke skjønner er hvorfor det å kjøre kommandoen getenv('path') på et eller annet tidspunkt gjør at skriptet feiler. Edit: Ved sette inn PATH_SEPARATOR så ga ikke lenger getenv en feil: putenv("PATH=" . $_ENV['PATH'] . PATH_SEPARATOR . get_include_path()); Jeg har nå prøvd å sette path = "C:\www\ImageMagick-6.3.9-Q16" i php.ini, men det resultarer bare i at pathen blir satt til det som står i path-variabelen i Windows, men med C:\www\ImageMagick-6.3.9-Q16 etter alle de windows-spesifikke folderne. Er det i apache sin konfigurasjon jeg må sette path? Jeg vil nemlig gjerne få satt path i konfigurasjonsfilene istedenfor å måtte gjøre det i scriptet, som potensielt kan føre til problemer når dette skal kjøres et annet sted enn localhost. Edit: Dette var litt flaut, men det viste seg at jeg måtte restarte windows for at endringen i path-variabelen skulle tre i kraft for apache. Jeg trodde det holdt å restarte apache, særlig fordi en restart av cmd.exe var alt som skulle til for å gjøre at denne brukte den nye pathen. Endret 11. mars 2009 av magicgunnar Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå