Probleme mit exec() für externes Perl-Script [gelöst]

Gesperrt
Meykoenig
Beiträge: 11
Registriert: Do 21. Sep 2006, 08:54
Wohnort: Stuttgart
Kontaktdaten:

Probleme mit exec() für externes Perl-Script [gelöst]

Beitrag von Meykoenig »

Ich versuche derzeit in einem eigenen Modul eine bei uns vorhandene, lauffähige Programmierung, die auf ein Perl-Script mit der PHP-Funktion exec () zugreift, einzubauen.

Leider bleibt das zurückgebene Array in PHP leer :( .
Als Rückgabe-Status erhalte ich 0.
Eine Fehlermeldung erhalte ich nicht, auch das Fehlerlog ist leer.

Ich gebe beim Aufruf des Perl-Skripts einen absoluten Systempfad an.
Ich habe versucht den Code direkt ins Modul zu schreiben, als auch im Modul den vorhandenen, einzeln lauffähigen, Code mit include () einzubinden, beides Mal mit dem selben Nicht-Ergebnis (Include () an sich klappt).

Die Verwendung von exec() funktioniert, z.B. wenn ich ls -l ausführe ist auch Inhalt in der Array-Variable.
Auch funktioniert das Programm (PHP+Perl) wenn ich es über den Browser direkt aufrufe, und das Perl-Script funktioniert auch auf Shell Ebene. Ich habe auf das Perl-Skript alle Rechte eingeräumt, ebenso auf alle Daten auf die das Perl-Skript zugreift, ein Berechtigungsproblem sollte es also auch nicht sein.

Es funktioniert alles wie erwartet, nur dann nicht wenn es als Contenido-Modul eingesetzt werden soll.

Hat irgend jemand eine Idee?
Über die Suchfunktion habe ich ähnliches nicht gefunden.

Vielen Dank.
Zuletzt geändert von Meykoenig am Mo 25. Sep 2006, 10:41, insgesamt 1-mal geändert.
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

Spontan fällt mir als Fehlerquelle nur ein:

Läuft das ganze unter Windoof oder Linux?
Je nachdem ist die Pfadangabe ja entsprechend anzupassen von der Syntax her... ;)
Meykoenig
Beiträge: 11
Registriert: Do 21. Sep 2006, 08:54
Wohnort: Stuttgart
Kontaktdaten:

Problem mit exec()

Beitrag von Meykoenig »

Das ganze läuft auf einem Rootserver mit Debian Linux :wink: .
(Genauer: Debian stable 64bit).
Dateizugriff (Schreiben und lesen) und Pfadangaben (für Dateien) funktionieren auch aus Modul-Code heraus. Nur eben der exec-Zugriff auf diese Perl-Skripte nicht.
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

leite doch mal den stdout und stderr des perl-script-aufrufs in eine datei um, kommt da was an? steht vllt was im contenido error-log? _irgendwo_ muss doch _irgendwas_ dazu stehen! ;)
Meykoenig
Beiträge: 11
Registriert: Do 21. Sep 2006, 08:54
Wohnort: Stuttgart
Kontaktdaten:

Probleme mit Perl-Script

Beitrag von Meykoenig »

Vielen Dank für die Anregung.

Ich konnte nun schließlich klären das das Perl-Sript korrekt angesprochen wurde, allerdings waren die Pfade im Perl-Skript nicht mehr korrekt da hier relative Pfade verwendet wurden, und der Ausgangsordner, mit ..../cms der Contenido-Installation, nicht mehr da war wo vom Perl-Skript erwartet.
Fehler lag also in den nicht angepassten Pfaden im Perl-Skript.

Problem gelöst :)
Gesperrt