PHP/Win, exec() und ImageMagick/gs Probleme

PHP/Win, exec() und ImageMagick/gs Probleme

am 03.10.2004 15:49:03 von Glenn Kusardi

Hallo,

ich versuche mit ImageMagick EPS-Dateien ins PNG-Format zu konvertieren.

Das funktioniert direkt von der Kommandozeile wunderbar. Wenn ich die
Befehle über exec() abzusetzen, läuft es grundsätzlich auch, allerdings
nur mit kleineren Dateien (ca. bis 11 MB). Darüber hängt sich PHP und
Apache auf und verbrauchen nur noch Systemresourcen.

Apache läuft auf dem System als Service und PHP wird als Modul
eingesetzt.

Woran kann das liegen? Weil ich nicht wusste, ob das aufgerufene
ImageMagick und sein Speicherverbrauch das Problem sein könnte, hab ich
das memory_limit auf 384 MB gesetzt (kann mir aber nicht vorstellen, dass
Programme die über exec() aufgerufen wurden ins PHP-memory_limit fallen).

TIA,
Glenn

Re: PHP/Win, exec() und ImageMagick/gs Probleme

am 03.10.2004 16:57:34 von Glenn Kusardi

Glenn Kusardi wrote:

> Apache läuft auf dem System als Service und PHP wird als Modul
> eingesetzt.

Wenn ich Apache als Benutzer starte, dann läuft alles wunderbar. Das heißt
es müsste wohl daran liegen dass Apache als Service läuft, aber wie kann
ich das Problem lösen?

Re: PHP/Win, exec() und ImageMagick/gs Probleme

am 03.10.2004 17:11:33 von Ulf Kadner

Hallo Glenn Kusardi, Du schiebst hier:

> ich versuche mit ImageMagick EPS-Dateien ins PNG-Format zu konvertieren.
>
> Das funktioniert direkt von der Kommandozeile wunderbar. Wenn ich die
> Befehle über exec() abzusetzen, läuft es grundsätzlich auch, allerdings
> nur mit kleineren Dateien (ca. bis 11 MB). Darüber hängt sich PHP und
> Apache auf und verbrauchen nur noch Systemresourcen.

Das ist nen Rechteproblem. In http://de3.php.net/manual/de/ref.exec.php
steht, speziell in den user contibutet notes einiges dazu. Das solltest Du
lesen, da dort auch eine Loesung fuer Dich steht.

MfG, Ulf

Re: PHP/Win, exec() und ImageMagick/gs Probleme

am 03.10.2004 17:24:09 von Glenn Kusardi

Ulf Kadner wrote:

> Das ist nen Rechteproblem. In
> http://de3.php.net/manual/de/ref.exec.php steht, speziell in den user
> contibutet notes einiges dazu. Das solltest Du lesen, da dort auch
> eine Loesung fuer Dich steht.

Das bezieht sich imho aber auf den IIS, der unter einem voreingestellten
oder konfigurierten Benutzerkonto läuft. Der Apache läuft unter dem Konto
System und das hat Lesen, Ausführen Rechte auf die cmd.exe

Mal davon abgesehen wäre das keine Erklärung dafür wieso es bei kleineren
Dateien geht, bei Größeren aber nicht.

Re: PHP/Win, exec() und ImageMagick/gs Probleme

am 04.10.2004 23:23:58 von Matthias Hoseit

Hallo Glenn.

Ich habe in der Firma auch desöfteren Probleme mit exec (Apache hängt sich
auf (besser gesagt die threads) und ohne Ende CMD.EXE Leichen bleiben im
Speicher hängen).

Benutzt du Sessions? Wenn ja, dann mache vor dem eigentlichen ausführen (mit
exec) ein session_write_close(). Falls du mit der Session noch was machen
musst, kannst du direkt danach wieder ein session_start() machen.

Anscheinend hat PHP (egal ob 4 oder 5) Probleme mit system Befehlen wie exec
im Zusammenspiel mit Sessions.

Ich habe einmal im Internet ein entsprechendes workaround gefunden. Weiss
aber leider nicht mehr wo (Ich glaube es war bei der PHP Bugparade).

Gruß Matthias


"Glenn Kusardi" schrieb im Newsbeitrag
news:Xns9577B0FEE78FAgk@kusardi.de...
> Ulf Kadner wrote:
>
> > Das ist nen Rechteproblem. In
> > http://de3.php.net/manual/de/ref.exec.php steht, speziell in den user
> > contibutet notes einiges dazu. Das solltest Du lesen, da dort auch
> > eine Loesung fuer Dich steht.
>
> Das bezieht sich imho aber auf den IIS, der unter einem voreingestellten
> oder konfigurierten Benutzerkonto läuft. Der Apache läuft unter dem Konto
> System und das hat Lesen, Ausführen Rechte auf die cmd.exe
>
> Mal davon abgesehen wäre das keine Erklärung dafür wieso es bei kleineren
> Dateien geht, bei Größeren aber nicht.