Was passiert genau in dem script?
Sind die Session Variablen die 3 Werte?
1-2 Minuten ist eine seeeeeeeeeeeeeeeeeehr lange Ausführungszeit, vermutlich hängt da irgendwas.
HI @all,
kann mir vielleicht jemand weiter helfen?
Ich hab ein Formular, in dem ein User 3 Werte auswählen kann. Nach dem er diese Werte ausgewählt hat, kann er auf einem Button "DATEN SENDEN" klicken. Der klick auf dem Button, bewirkt, dass eine PHP seite aufgerufen wird. Diese PHP seite ruf mittels "shell_exec" einen sktript, mit dem vom Formular übergebenen Variablen auf.
Es dauert ca. 1 - 2 minuten biss das Skript durchgelaufen ist. In der Zwischenzeit würde ich gerne auf eine Seite verweisen, auf der steht, bitte warten oder so ähnlich.Code:shell_exec("/cust/www/htdocs/clone_weboberflaeche_version_1.3/ausgabe ".$_SESSION["linux_system"]. " " .$_SESSION["ram"]. " " .$_SESSION["prozesoren"])
Wie kann ich das jetzt bewärkstelligen ? Wo muss ich die Weiterleitung mit header ansetzten ? Das Problem ist, dass das Skript welches aufgerufen wird, auch etwas zurück gibt, aber wie gesagt, nach 1-2 min.
Ich hab das header('locate...') vor dem Shellexec aber das bringt nicht, da er das shell_exec nicht aufruft und danach funt auch nicht:
Hat jemand eine IDEE ???Code:Warning: Cannot modify header information - headers already sent by (output started at /pfad/www/htdocs/weboberflaeche_version_1.6/shell_exec.php:5) in /pfad/www/htdocs/weboberflaeche_version_1.6/shell_exec.php on line 9
Was passiert genau in dem script?
Sind die Session Variablen die 3 Werte?
1-2 Minuten ist eine seeeeeeeeeeeeeeeeeehr lange Ausführungszeit, vermutlich hängt da irgendwas.
Der Skript starte eine Linux Installation bzw. Clone... Es ist schon ok das er 1-2 min läuft ... das Prob ist nur, wie ich das mit der Weiterleitung mache, ich hab kein Plan wann ich die reinsetzen soll ...![]()
Hi @all,
also ich hab mir einfach Überlegt, das ich es so löse, aber wenn ich dann auf die shell_exec.php weiter leite kommt die Meldung SEITE KANN NICHT ANGEZEIGT WERDEN u.s.w.
Kann mir Jemand Helfen ?
Ich Poste jetzt einfach mal den code
PHP-Code:<body bgcolor="#F3F3F3">
<h1 align=center><u>Auswahl der Systemkomponenten</u></h1>
<!-- Formular **ANFANGN** -->
<form action="weiterleitung.php" method="post">
<!-- Linux-System **ANFANG** -->
Linux System (SLES 8)
<select name="linux_system">
<option value=""></option>
<option value="31"> Linux 31 Bit - System </option>
<option value="64"> Linux 64 Bit - System </option>
</select>
<!-- Linux-System **ENDE** -->
<br>
<br>
<!-- Virtual-Storage **ANFANG -->
Virtual Storage (Speicher in RAM)
<select name="ram">
<option value=""></option>
<option value="128m"> 128 MegaByte </option>
<option value="256m"> 256 MegaByte </option>
<option value="512m"> 512 MegaByte </option>
<option value="1024m"> 1024 MegaByte </option>
</select>
<!-- Virtual-Sorage **ENDE** -->
<br>
<br>
<!-- Anzahl den Prozesoren **ANFANG** -->
Anzahl der Prozesoren
<select name="prozesoren">
<option value=""></option>
<option value="1"> 1 Prozesor </option>
<option value="2"> 2 Prozesoren </option>
<option value="3"> 3 Prozesoren </option>
<option value="4"> 4 Prozesoren </option>
</select>
<!-- Anzahl den Prozesoren **ENDE** -->
<br>
<br>
<br>
<!-- Submitbutton **ANFANG**-->
<input type="submit" name="senden" value="Daten senden">
<!-- Submitbutton **ENDE**-->
</form>
<!-- Formular **ENDE** -->
</body>
</html>
PHP-Code:***weiterleitung.php***<html>
<head>
<meta http-equiv="refresh" content="1; URL=http://http://10.206.176.96/weiterleitung_test/shell_exec.php/">
<!-- ... andere Angaben im Dateikopf ... -->
</head>
<body>
<h1> BITTE WARTEN </h1>
<?php
@session_start();
$_SESSION["linux_system"] = $_POST["linux_system"];
$_SESSION["ram"] = $_POST["ram"];
$_SESSION["prozesoren"] = $_POST["prozesoren"];
echo $_SESSION["linux_system"] . "<br>" ;
echo $_SESSION["ram"] . "<br>";
echo $_SESSION["prozesoren"] . "<br>"
?>
</body>
</html>PHP-Code:sehll_exec.php
<?php
@session_start();
$_SESSION["linux_system"] = $_POST["linux_system"];
$_SESSION["ram"] = $_POST["ram"];
$_SESSION["prozesoren"] = $_POST["prozesoren"];
echo "<h1> SESSION AUSGABE </h1>"
echo $_SESSION["linux_system"] . "<br>" ;
echo $_SESSION["ram"] . "<br>";
echo $_SESSION["prozesoren"] . "<br>"
echo "<h1> SHELL AUSGABE </h1>"
$output = shell_exec("/cust/www/htdocs/weiterleitung_test/ausgabe ".$_SESSION["linux_system"]. " " .$_SESSION["ram"]. " " .$_SESSION["prozesoren"]);
echo "<pre>$output<pre>";
?>
steht das auch so in deinem Script?? Dann ist es normal, dass das nicht geht...und ein / gehört auch nicht ans Ende.
Gruss
Jan
Danke für den TipJetzt funkt das auch ...
Aber die Variablen werden in der shell_exec nicht zurückgegeben![]()
Es kommt wenn ich das @ vor dem session_start wegnehme folgende Fehlermeldungen:Leider verstehe ich da nicht wirklich was er von mir willCode:Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /cust/www/htdocs/weiterleitung_test/weiterleitung.php:8) in /cust/www/htdocs/weiterleitung_test/weiterleitung.php on line 9 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /cust/www/htdocs/weiterleitung_test/weiterleitung.php:8) in /cust/www/htdocs/weiterleitung_test/weiterleitung.php on line 9![]()
Vor einem session_start() darf keinerlei Ausgabe an den Browser passieren, da die Session durch einen Cookie gesetzt wird. Ist bereits etwas zum Client gesendet worden, so kann der Cookie nicht mehr gesetzt werden. Daher session_start() immer gaaaanz nach oben. Noch nichtmal ein Leerzeichen darf davor stehe
Gruss
Jan
Achso ... Ok ich hab jetzt folgendes gemacht:
Aber die Variablen werden nicht raus gegeben auf der shell_exec.phpPHP-Code:<?php
session_start();
?>
<html>
<head>
<meta http-equiv="refresh" content="5; URL=http://10.206.176.96/weiterleitung_test/shell_exec.php/">
<!-- ... andere Angaben im Dateikopf ... -->
</head>
<body>
<h1> BITTE WARTEN </h1>
<?php
session_start();
$_SESSION["linux_system"] = $_POST["linux_system"];
$_SESSION["ram"] = $_POST["ram"];
$_SESSION["prozesoren"] = $_POST["prozesoren"];
echo $_SESSION["linux_system"] . "<br>" ;
echo $_SESSION["ram"] . "<br>";
echo $_SESSION["prozesoren"] . "<br>"
?>
</body>
</html>![]()
wozu ist denn der backslash hinter dem Dateinamen?
Evtl. geht die Session auch verloren. Probier mal so:
GrussPHP-Code:<meta http-equiv="refresh" content="5; URL=http://10.206.176.96/weiterleitung_test/shell_exec.php?<?=session_name();?>=<?=session_id();?>">
Jan
PS: 1mal session_start reicht hin...
Das funzt auch nicht, ich hab es mal so versucht:
Geht auch nichtPHP-Code:<meta http-equiv="refresh" content="1; URL=http://10.206.176.96/weiterleitung_test/shell_exec.php?=SID">
Wie meinst du 1mal session_start reicht hin ??? Ich dachte ich muss das auf jeder neuen Seite starten ?
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)