Der Windows-CLI-Befehl wird nicht über IIS, sondern über CLI ausgeführt


2

Ich versuche den folgenden Befehl auszuführen:

"C:\Program Files\ImageMagick-7.0.3-Q16\magick" convert "G:\path\to\filename.pdf[1]" -colorspace RGB -geometry 800 "g:\path\to\temp\filename.png"

Es funktioniert hervorragend, wenn ich es über ausgeführt habe, cmdwährend ich angemeldet bin, aber wenn ich versuche, es über IIS / PHP / exec auszuführen , funktioniert es nicht. Ich erhalte stattdessen den folgenden Fehler:

convert: no images defined `g:\path\to\temp\filename.png' @ error/convert.c/ConvertImageCommand/3254.

Ich habe g:\path\to\tempIUSR, IIS_USERS, ANONYMOUS LOGIN und Jedermann die Vollzugriffsberechtigung erteilt. Nichts funktioniert.

Ich tue exec('echo %username%')und sehe, dass der aktuell über IIS angemeldete Benutzer ist, COMPUTER$aber das hilft mir nicht wirklich.

bearbeiten:

Ich habe „Jeder“ Vollzugriff die Erlaubnis gegeben , in C:\Program Files (x86)\gs\gs9.09\binund C:\Program Files\ImageMagick-7.0.3-Q16und immer noch die gleiche Sache zu bekommen.

2 bearbeiten:

An alle, die meine Frage als Duplikat von " PDF kann nicht in Bild konvertiert werden" gekennzeichnet haben, da der Fehler "Keine Bilder definiert" vorliegt ... dies ist nicht der Fall. Erstens verwende ich Windows - nicht Linux - also which gsfunktioniert es offensichtlich nicht. Zweitens convertfunktioniert es in meinem Fall einwandfrei, wenn ich es über cmd.exe ausführe. Aber wenn ich versuche, es über IIS / PHP / exec () auszuführen, funktioniert es nicht. Bei der anderen Frage hat es überhaupt nicht funktioniert. Zeitraum.

3 bearbeiten:

Ich habe auch versucht, einen neuen Anwendungspool mit "LocalSystem" per https://stackoverflow.com/a/23046001/569976 zu erstellen . Nichts.


Warum fängt man `g:\path\to\temp\filename.png'mit einem Backtick an?
— DavidPostill

Und warum endet das "g:\path\to\temp\filename.png"`mit einem Backtick?
— DavidPostill

Es gibt ein Backtick am Ende des ersten Befehls in Ihrem Beitrag ...
— DavidPostill

@DavidPostill - Fang den Backtick in dem Befehl, den ich ausgegeben habe. Ich habe es entfernt, erhalte aber den gleichen Fehler. Ich habe keine Ahnung, warum es in der Ausgabe ist.
— Neubert

Versuche es mit -debug all
— Adam Silenko

Antworten:


0

Ich habe dies funktioniert, indem ich nur WAMP installiert habe. Daher wird IIS auf Port 80/443 und WAMP auf Port 81/444 ausgeführt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.