php -> sh -> php
am 03.10.2006 13:23:56 von georg116
Hallo,
ich versuche (als Teil einer Wette ;-)) erfolglos folgendes durchzuführen:
Im Browser ein PHP file aufrufen, dass ein Shellskript startet, dass
wiederum ein PHP Skript startet. Als Resultat soll der echo-Output des
2.PHP Skripts im Browser erscheinen. Auf der Konsole funktioniert es
einwandfrei, im Browser bleibt mir aber das Shellskript hängen...?!?!
Ich starte das Ganze (im Browser) mit dem file 'first.php':
first.php:
$shell_output = shell_exec("/mein_pfad/shellskript.sh");
?>
shellskript.sh:
#!/bin/bash
/usr/bin/php /mein_pfad/second.php
second.php:
echo "Hello World";
?>
Wäre super, wenn ihr mir auf die Sprünge helfen könntet!
dank,georg.
Re: php -> sh -> php
am 03.10.2006 13:43:42 von Hadanite Marasek
Georg Weiler wrote:
> Hallo,
>
> ich versuche (als Teil einer Wette ;-)) erfolglos folgendes durchzuführen:
>
> Im Browser ein PHP file aufrufen, dass ein Shellskript startet, dass
> wiederum ein PHP Skript startet. Als Resultat soll der echo-Output des
> 2.PHP Skripts im Browser erscheinen. Auf der Konsole funktioniert es
> einwandfrei, im Browser bleibt mir aber das Shellskript hängen...?!?!
Sind die Berechtigungen in Ordnung, sprich kann der Benutzer, mit dessen
Rechten der Webserver läuft, das Skript ausführen?
Re: php -> sh -> php
am 03.10.2006 13:43:53 von Kai Ruhnau
Georg Weiler wrote:
> Hallo,
>
> ich versuche (als Teil einer Wette ;-)) erfolglos folgendes durchzuführen:
>
> Im Browser ein PHP file aufrufen, dass ein Shellskript startet, dass
> wiederum ein PHP Skript startet. Als Resultat soll der echo-Output des
> 2.PHP Skripts im Browser erscheinen. Auf der Konsole funktioniert es
> einwandfrei, im Browser bleibt mir aber das Shellskript hängen...?!?!
>
> Ich starte das Ganze (im Browser) mit dem file 'first.php':
>
>
> first.php:
>
> $shell_output = shell_exec("/mein_pfad/shellskript.sh");
> ?>
Fe lt da nicht noch die Ausgabe der Ausgabe?
> shellskript.sh:
> #!/bin/bash
> /usr/bin/php /mein_pfad/second.php
>
>
> second.php:
>
> echo "Hello World";
> ?>
>
> Wäre super, wenn ihr mir auf die Sprünge helfen könntet!
Darf der Webserverbenutzer das Shellscript ausführen?
Grüße
Kai
--
This signature is left as an exercise for the reader.
Re: php -> sh -> php
am 03.10.2006 13:58:29 von georg116
Kai Ruhnau wrote:
> Georg Weiler wrote:
>> Hallo,
>>
>> ich versuche (als Teil einer Wette ;-)) erfolglos folgendes
>> durchzuführen:
>>
>> Im Browser ein PHP file aufrufen, dass ein Shellskript startet, dass
>> wiederum ein PHP Skript startet. Als Resultat soll der echo-Output des
>> 2.PHP Skripts im Browser erscheinen. Auf der Konsole funktioniert es
>> einwandfrei, im Browser bleibt mir aber das Shellskript hängen...?!?!
>>
>> Ich starte das Ganze (im Browser) mit dem file 'first.php':
>>
>>
>> first.php:
>>
>> $shell_output = shell_exec("/mein_pfad/shellskript.sh");
>> ?>
>
> Fehlt da nicht noch die Ausgabe der Ausgabe?
ja stimmt, aber auch mit einer echo-ausgabe gehts nicht !!
>
>> shellskript.sh:
>> #!/bin/bash
>> /usr/bin/php /mein_pfad/second.php
>>
>>
>> second.php:
>>
>> echo "Hello World";
>> ?>
>>
>> Wäre super, wenn ihr mir auf die Sprünge helfen könntet!
>
> Darf der Webserverbenutzer das Shellscript ausführen?
Ja, alle Rechte sind OK!!
Re: php -> sh -> php
am 03.10.2006 13:58:58 von georg116
Hadanite Marasek wrote:
> Georg Weiler wrote:
>> Hallo,
>>
>> ich versuche (als Teil einer Wette ;-)) erfolglos folgendes durchzuführen:
>>
>> Im Browser ein PHP file aufrufen, dass ein Shellskript startet, dass
>> wiederum ein PHP Skript startet. Als Resultat soll der echo-Output des
>> 2.PHP Skripts im Browser erscheinen. Auf der Konsole funktioniert es
>> einwandfrei, im Browser bleibt mir aber das Shellskript hängen...?!?!
>
> Sind die Berechtigungen in Ordnung, sprich kann der Benutzer, mit dessen
> Rechten der Webserver läuft, das Skript ausführen?
Alle Berechtigungen sind OK!!
Re: php -> sh -> php
am 03.10.2006 14:05:38 von jbusenet
Georg Weiler wrote:
> ich versuche (als Teil einer Wette ;-)) erfolglos folgendes durchzuführen:
Worum Wettest Du denn?
> first.php: [snip]
> second.php: [snip]
die beiden sehen ok aus, aber
> shellskript.sh:
> #!/bin/bash
> /usr/bin/php /mein_pfad/second.php
Dein shell script wird wohl laufen, aber warum sollte es den Output
irgendeines Prozesses (nichts anderes ist second.php fuer das
shell-script) zurueckgeben. Du musst den output von second.php erst
"einlesen" bzw. von der STDIN mitlesen und zurueckgeben.
regards
Julian
--
Julian Bessenroth ( http://www.vnox.de )
Email : jbusenet (Ligatur von "a" und "d") gmx.de
Reply-Emails : mit "[NG]" oder "[NOSPAM]" im Betreff,
sonst gehen sie unter.
Re: php -> sh -> php
am 03.10.2006 14:14:48 von georg116
Julian Bessenroth wrote:
> Georg Weiler wrote:
>
>> ich versuche (als Teil einer Wette ;-)) erfolglos folgendes
>> durchzuführen:
>
> Worum Wettest Du denn?
>
>> first.php: [snip]
> > second.php: [snip]
>
> die beiden sehen ok aus, aber
>
>> shellskript.sh:
>> #!/bin/bash
>> /usr/bin/php /mein_pfad/second.php
>
> Dein shell script wird wohl laufen, aber warum sollte es den Output
> irgendeines Prozesses (nichts anderes ist second.php fuer das
> shell-script) zurueckgeben. Du musst den output von second.php erst
> "einlesen" bzw. von der STDIN mitlesen und zurueckgeben.
Es funktioniert aber auch nicht, wenn ich im Shellskript nur
'/usr/local/httpd/cgi-bin/php -v' stehen habe! (also in diesem fall
vergessen wir mal kurz second.php. Ich möchte einfach den output vom
shellskript in first.php ausgeben. Offensichtlich "schafft" es das
shellskript nicht, irgendein php kommando zu starten...
Re: php -> sh -> php
am 03.10.2006 14:22:03 von jbusenet
Georg Weiler wrote:
>>> first.php: [snip]
>>
>>> second.php: [snip]
>>
>> die beiden sehen ok aus, aber
das war natuerlich nur partiell richtig -> siehe ausgabe in first.php
> Es funktioniert aber auch nicht, wenn ich im Shellskript nur
> '/usr/local/httpd/cgi-bin/php -v' stehen habe! (also in diesem fall
> vergessen wir mal kurz second.php. Ich möchte einfach den output vom
> shellskript in first.php ausgeben. Offensichtlich "schafft" es das
> shellskript nicht, irgendein php kommando zu starten...
hast Du einfach mal ein "echo" im shell script gemacht?
regards
Julian
--
Julian Bessenroth ( http://www.vnox.de )
Email : jbusenet (Ligatur von "a" und "d") gmx.de
Reply-Emails : mit "[NG]" oder "[NOSPAM]" im Betreff,
sonst gehen sie unter.
Re: php -> sh -> php
am 03.10.2006 14:24:11 von georg116
Julian Bessenroth wrote:
> Georg Weiler wrote:
>
>>>> first.php: [snip]
>>>
>>>> second.php: [snip]
>>>
>>> die beiden sehen ok aus, aber
>
> das war natuerlich nur partiell richtig -> siehe ausgabe in first.php
>
>> Es funktioniert aber auch nicht, wenn ich im Shellskript nur
>> '/usr/local/httpd/cgi-bin/php -v' stehen habe! (also in diesem fall
>> vergessen wir mal kurz second.php. Ich möchte einfach den output vom
>> shellskript in first.php ausgeben. Offensichtlich "schafft" es das
>> shellskript nicht, irgendein php kommando zu starten...
>
> hast Du einfach mal ein "echo" im shell script gemacht?
>
> regards
>
> Julian
>
Ja, sowohl vor, als auch nach dem php aufruf. beide werden nicht (!!)
ausgegeben. Ist m.M. nach auch ziemlich klar, weil ja first.php wartet,
bis das shelskript fertig ist, und da kann es lange warten...;-)
Re: php -> sh -> php
am 03.10.2006 15:02:48 von jbusenet
Georg Weiler wrote:
> Ja, sowohl vor, als auch nach dem php aufruf. beide werden nicht (!!)
> ausgegeben. Ist m.M. nach auch ziemlich klar, weil ja first.php wartet,
> bis das shelskript fertig ist, und da kann es lange warten...;-)
Ok, also fassen wir zusammen:
Die shell-Datei hat Execution-Rechte.
Die shell-Datei funktioniert? (aufruf an der console?)
warnigs E_ALL on?
vielleicht ein return im shell-skript setzen? (eher eine Verzweiflungstat)
regards
Julian
--
Julian Bessenroth ( http://www.vnox.de )
Email : jbusenet (Ligatur von "a" und "d") gmx.de
Reply-Emails : mit "[NG]" oder "[NOSPAM]" im Betreff,
sonst gehen sie unter.
Re: php -> sh -> php
am 03.10.2006 15:45:34 von dafox
Georg Weiler schrieb:
> Julian Bessenroth wrote:
>> Dein shell script wird wohl laufen, aber warum sollte es den Output
>> irgendeines Prozesses (nichts anderes ist second.php fuer das
>> shell-script) zurueckgeben. Du musst den output von second.php erst
>> "einlesen" bzw. von der STDIN mitlesen und zurueckgeben.
> Es funktioniert aber auch nicht, wenn ich im Shellskript nur
> '/usr/local/httpd/cgi-bin/php -v' stehen habe! (also in diesem fall
> vergessen wir mal kurz second.php. Ich möchte einfach den output vom
> shellskript in first.php ausgeben. Offensichtlich "schafft" es das
> shellskript nicht, irgendein php kommando zu starten...
PHP 5.1.2-1.dotdeb.2 (cli) (built: Jan 31 2006 01:31:38)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
,--------------------------------------------------------- test.sh ---
| #!/bin/bash
|
| /bin/bash --version
| /usr/bin/php -v
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.
PHP 5.1.2-1.dotdeb.2 (cli) (built: Jan 31 2006 01:31:38)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies