2016-06-10 7 views
-1

Ich habe ein paar Probleme mit der Umwandlung von PDF-Dateien in Bilder mit Imagick (in PHP). Wenn ich das versuche, erhalte ich einen Fehler von 500. Ich habe versucht, mit meinem Host-Provider zu beheben, aber sie haben keinen Fehler, und konnte die Version nicht ändern, weil ich einen freigegebenen Server verwendet habe. Dann kam ich auf die Idee, Azure zu verwenden, und nach einiger Zeit gelang es mir, Imagick auf dem Server zu installieren, aber ich fand heraus, dass es Ghostscript benötigt, um mit PDF-Dateien zu arbeiten.Ghostscript mit Imagick auf Azure php server installieren

Also meine Frage ist, wie installiere ich Ghostscript auf Azure-Servern, oder ist es alternativ möglich, Imagemagick mit Ghostscript für Windows zu erstellen?

+0

Nicht sicher, was Sie mit "Azure-Servern" meinen - sprechen Sie über virtuelle Maschinen? Cloud-Dienste (Web-/Worker-Rollen)? Web Apps? Sie haben auch gesagt, dass Sie "Imagick auf dem Server installiert haben" - es ist wiederum unklar, was Sie getan haben und woran Sie arbeiten. –

+0

Ich entschuldige mich, ich verwende eine Web-App auf Azure-Servern mit PHP 5.6. Ich habe über ftp geschafft, Imagemagick zusammen mit Imagick zu installieren, aber ich kann es nicht erkennen Ghostscript – Chimera

Antwort

0

Sie können https://blogs.msdn.microsoft.com/azureossds/2015/12/07/php-imagemagick-on-azure-web-apps/ verfolgen, um die ImageMagick-Erweiterung auf Azure Web Apps zu installieren. Und dann laden Sie das Ghostscript-Installationsprogramm für Windows von http://ghostscript.com/download/gsdnld.html herunter. Installieren Sie es auf Ihrem lokalen PC, und kopieren Sie dann den Anwendungsordner wie C:\Program Files (x86)\gs\gs9.19 an die Azure-Site, wie oben in Schritt d:\home\site\gs beschrieben.

Ändern Sie die applicationHost.xdt Datei, fügen Sie den gs Pfad zu der PATH Variable hinzu. Z.B. <add name="Path" value="%Path%d:\home\site\imagick\;d:\home\site\gs9.19\bin\;" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />.

Dann können Sie exec() Funktion in Ihrem PHP-Skript nutzen, um Ghostscript CLI-Befehl aufzurufen. Wie echo exec("gswin32c.exe -h");

+0

Ich habe alle Schritte mit Ausnahme des Pfades gemacht, ich hatte sie auf 2 separaten Zeilen, die den Server abgestürzt, aber dies nicht getan. Leider, wenn ich es mit dem vorhandenen PHP verwende, das Imagick nutzt (und wie ich es verstehe, verwendet dies Ghostscript) bekomme ich einen Fehler 500 (interner Serverfehler) Ich dachte, dies war, weil es Ghostscript nicht finden konnte, aber vielleicht gibt es etwas anderes ist falsch, als wenn ich das PHP-Skript lief, bekomme ich "Bitte melden Sie Bugs zu bugs.ghostscript.com." – Chimera

+0

Wenn Sie den Befehl 'gswin32c.exe -h' in Cmdlet ausführen, finden Sie die letzte Zeile der Ausgabe ist * Bitte melden Fehler bugs.ghostscript.com. *. Also vielleicht gibt es einige andere Fehler in Ihren Skripten. Sie können Anzeigefehler zur Fehlerbehebung aktivieren. Füge 'ini_set ('display_errors', 1) hinzu; ini_set ('display_startup_errors', 1); error_reporting (E_ALL); 'in der Spitze Ihrer Skripte, und finden Sie das Problem. –

+0

danke für Ihre Eingabe, aber gswin32c.exe -h gibt mir die gleiche Ausgabe wie gswin32c.exe -? . aber ich werde versuchen, den Code zu sehen, um Fehler anzuzeigen, aber ich weiß nicht, ob sie mich jemals mit einem 500 Server-Fehler erreichen werden. – Chimera