Schrift
[thread]10694[/thread]

Perlscript in PHP einbinden (Seite 2)

Leser: 1


<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Asterix
 2007-11-04 15:56
#101829 #101829
User since
2007-11-03
9 Artikel
BenutzerIn
[default_avatar]
Strat+2007-11-03 18:18:50--
gibt es bei exec die moeglichkeit, fehler abzufangen/abzufragen? wenn ja, dann tu das mal.

Unter Perl geht das ja - aber unter PHP?
Keine Ahnung ...
Asterix
 2007-11-04 15:57
#101830 #101830
User since
2007-11-03
9 Artikel
BenutzerIn
[default_avatar]
renee+2007-11-03 21:55:54--
Gibt das Perlskript vielleicht was auf STDERR aus und nicht auf STDOUT?

Nein - ist ne reine HTML-Ausgabe
Asterix
 2007-11-04 15:57
#101831 #101831
User since
2007-11-03
9 Artikel
BenutzerIn
[default_avatar]
MisterL+2007-11-04 12:06:14--
PHP - pretty hard to program :-))
Warum schreibt das Perl Skript seinen Output nicht in eine Datei/Datenbank und das PHP Skript liest diese Daten dann auf diese Weise aus ?

Gruss MisterL

Das wäre ne Möglichkeit - ist aber teuer ...
Asterix
 2007-11-04 15:59
#101832 #101832
User since
2007-11-03
9 Artikel
BenutzerIn
[default_avatar]
Strat+2007-11-04 12:23:26--
helfen dir vielleicht die kommentare auf exec weiter?

Hab ich alles schon durchprobiert (auch die Alternativen) bin sogar mit virtual() drangegangen - nichts funktionierte :(
Asterix
 2007-11-04 16:00
#101833 #101833
User since
2007-11-03
9 Artikel
BenutzerIn
[default_avatar]
GwenDragon+2007-11-04 13:19:50--
[php]
passthru("perl meinskript.pl");
[/php]
http://de2.php.net/manual/de/function.passthru.php

Das wäre ideal - klappt leider nicht.
Asterix
 2007-11-04 16:07
#101834 #101834
User since
2007-11-03
9 Artikel
BenutzerIn
[default_avatar]
renee+2007-11-04 12:39:33--
Das hier funktioniert bei mir:[html]<html>
<body>
<h2>Test</h2>
<?php

exec( "perl test.cgi", $ausgabe );
print_r( $ausgabe );

?>
</body>
</html>[/html]

statt print_r( $ausgabe ); kannst Du auch

[php]
$string = implode( "\n", $ausgabe );
echo $string;[/php]

machen. Dann bekommst Du keinen "Dump", sondern die Ausgabe als String...


Hab das so gemacht ...
Code: (dl )
1
2
3
4
5
exec("/usr/bin/perl /www/123/cgi-bin/verzeichnis/the_script.pl", $output, $err);
if (is_array($output)) {
print_r($output);
exit(0);
}

ergebnislos :(
GwenDragon
 2007-11-04 17:52
#101837 #101837
User since
2005-01-17
14538 Artikel
Admin1
[Homepage]
user image
Könnte am safe_mode von PHP liegen.
Beim safe_mode erlaubt PHP exec & Co. nur in einem bestimmten Verzeichnis und/oder bestimmte Funktionen können abgeschaltet werden.
Auszug aus der php.ini:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
When safe_mode is on, only executables located in the safe_mode_exec_dir
; will be allowed to be executed via the exec family of functions.
safe_mode_exec_dir =

; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
disable_functions =

; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
open_basedir =
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

Asterix
 2007-11-05 20:05
#101888 #101888
User since
2007-11-03
9 Artikel
BenutzerIn
[default_avatar]
GwenDragon+2007-11-04 16:52:33--
Könnte am safe_mode von PHP liegen.
Beim safe_mode erlaubt PHP exec & Co. nur in einem bestimmten Verzeichnis und/oder bestimmte Funktionen können abgeschaltet werden.

Ja - das wird's wohl sein - anders ist das auch nicht vorstellbar.
Danke für die Mühe die Ihr Euch mit mir gegeben habt.
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2007-10-30 20:40.