
Ich habe Ghostscript, ImageMagick und IIS 5.0 auf einer Windows 2008 Server-Box installiert.
Ich habe auch ein PHP-Skript, das ein Konvertierungsskript ausführt, um Miniaturansichten für eine PDF-Datei zu generieren, die in ein Verzeichnis hochgeladen wird:
<?php
$output = array();
$ret = 0;
echo exec('convert D:\content\myfile.pdf[0] D:\content\myfile_thumb_1.jpg', $output, $ret);
var_dump($ret);
?>
Ich habe festgestellt, dass das Problem darin besteht, dass das Skript, wenn es vom Webbrowser aufgerufen wird, als Benutzer IUSR_[COMPUTERNAME] ausgeführt wird.
Mit meinem Administratorkonto wird der Befehl erfolgreich von der CMD-Zeile aus ausgeführt (natürlich).
Welche Berechtigungen muss ich ändern, damit das Miniaturbild vom Skript-/IUSR-Benutzer generiert werden kann?
Ich habe versucht, die Berechtigungen für Folgendes zu ändern:
- Das GhostScript-Programmdateiverzeichnis (ermöglicht Ausführen, Schreiben, Lesen)
- Das ImageMagick-Verzeichnis (ermöglicht Ausführen, Schreiben, Lesen)
- Das Upload-Verzeichnis, in dem sich die Miniaturansichten befinden (Lesen und Schreiben möglich)
Alles über den Windows Explorer, indem ich mit der rechten Maustaste auf das Verzeichnis, Eigenschaften und dann auf die Registerkarte Sicherheit klicke. Ich füge die Berechtigungen zu [COMPUTERNAME]/Gäste hinzu, da sich IUSR_[COMPUTERNAME] in der Gruppe „Gäste“ befindet.
Ich bin nicht vertraut genug mit IIS oder Windows, um das zu wissen, aber muss man die Box neu starten, um die Berechtigungen zu aktualisieren, oder sollte es einfach funktionieren, nachdem ich die Änderungen übernommen habe? Ichhabenden IIS-Dienst neu gestartet.
Hinweis: Ich habe den vollständigen Computernamen entfernt und im obigen Beitrag durch [COMPUTERNAME] ersetzt