PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kleines Anfänger PHP Problem



HP314
02.02.13, 14:24
Hi,

hab mir seit kurzem einen Apacheserver für den Heimgebrauch eingerichtet und möchte mittels PHP ein SH Script auf dem Server laufen lassen.
Wenn ich die PHP Datei über die Konsole so starte gehts:

"php dateiname.php"
Sobald ich versuche die Datei über den Webbrowser auszuführen tut sich gar nix, hab schon so ziemlich alles probiert aber die SH Datei startet einfach nicht wenn die PHP Datei über den Webbrowser aufgerufen wird.

Wie gesagt über die Konsole geht alles einwandfrei. Nur die Verknüpfung zu der SH Datei geht irgendwie nicht im Browser.

Kann mir da evtl jemand weiterhelfen?


Danke

Aqualung
02.02.13, 16:14
Installiere mit $PAKETVERWALTUNG Deines Servers das Paket, welches Deinem Apachen "mod_php" spendiert.

HP314
02.02.13, 17:14
Hab ich anscheinend schon, phpinfo gibt mir jedenfalls ne Ausgabe im Browser.

roadracer
02.02.13, 17:16
Wie sieht den dein php script aus?

HP314
02.02.13, 17:36
einmal das hier:


<?php
System("sudo sh /var/www/script.sh");
?>

oder das:


<?php
$output = shell_exec("sudo sh /var/www/script.sh")
?>

oder das:


<?php
$output = shell_exec("mplayer -playlist /mp3/playlists/playlist.m3u")
?>

eigentlich alles recht simpel.

wie gesagt wenn ich per Konsole mittels "php datei.php" starte läuft alles top nur im Browser tut sich gar nix.

nopes
03.02.13, 09:25
Hi,

sind die Dateien ausführbar, ich denke nicht, du gibts ja auch
php /path/to/script.php ein.

Schritt bau ein shebang in deine Skripte ein, was das ist und wie das geht steht hier - http://www.electrictoolbox.com/php-shebang/.
Schritt mach die Skripte ausführbar:
chmod ugo+x /path/to/script.php.
Schritt werde dir klar darüber, wo dein Webserver PHP verarbeitet, das muss nämlich nicht in jedem Verzeichniss der Fall sein.
Schritt finde raus, ob dein Server PHP über CGI, FastCGI oder mod_php ausführt. Bei den beiden CGI Varianten, kannst du angeben, welches bin zum interpretieren deiner Skrips verwendet wird -> prüfen, ob es pass

HP314
03.02.13, 11:08
OK jetzt läuft alles, Problem war dass Apache unter dem User www-data läuft und somit keine Rechte hat, nach Anpassung der /etc/sudoers läuft alles einwandfrei!

Danke

TheDarkRose
03.02.13, 22:16
Beim nächsten mal in die error.log schauen