PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP- Externe Befehle



04-10-2000, 19:27
Hallo
Ich betreibe einen Dial In Router. Jetzt will ich ihn so konfigurieren, dass man über das Intranet (LAMP) sich einwählen bzw Abwählen kann. (Besserer Überblick)
Mit Exec kann man ja externe Programme ausführen, allerdings geht das ganze unter LAMP nicht. Ich benutze die Standartconfig von Suse6.2. Er meckert, das PHP im SafeMode unterwegs ist, obwohl das ausgeschalten ist. Hat jemand Erfahrungen im Starten von Externen Programmen aus PHP heraus?

05-10-2000, 11:17
Hi !

ich verwende Suse7.0 und bei mir läuft es mit:


$cmd="/usr/sbin/isdnctrl dial ippp0";

$mess=system($cmd);
echo $mess; /* gibt nur eine Kontrollnachricht aus, nicht notwendig */

==> Du musst allerdings darauf achten, dass der user 'wwwrun' das recht zur interneteinwahl hat, sonst reagiert er gar nicht.


Martin

[Dieser Beitrag wurde von Martin Ament am 05. Oktober 2000 editiert.]

24-10-2000, 21:56
PHP muss im safe_mode=off laufen, sonst kannst du keine ext. Befehle ausführen (soweit ich weiss)

Einstellung in der php.ini

jean_luc_picard
26-08-2003, 15:54
ich möchte auch ein programm per php starten, fuktioniert leider nicht...
wie kann man denn herausfinden, ob der server im safe-mode läuft? ich komme ja nicht an die php.ini von meinem provider heran ;) ...

Gaert
26-08-2003, 17:01
Einfach ein Skript mit

<?php phpinfo(); ?>
erstellen - dann siehst du alle Einstellungen deines Providers.
Übrigens funktioniert exec im safemode schon, allerdings nur mit Programmen die im safe_mode_exec_dir liegen.

PS: Schön, dass du die Suche bemührt hast ;)

jean_luc_picard
26-08-2003, 18:40
schön, habs gefunden. der server läuft im safe_mode=off :), an das von dir genannte verzeichnis wäre ich wohl nicht rangekommen.
leider funktioniert das trotzdem nicht. hier mal ein auszug aus meiner php datei:



<?
exec('/home/w10310/exec/online_simu');
?>

</head>



<body>
<?
include('/home/w10310/exec/daten.txt');
?>


also die ausführbare datei "/home/w10310/exec/online_simu" soll die datei "/home/w10310/exec/daten.txt" erzeugen, und zwar jedesmal wenn die seite betreten wird. sollte das so gehen, oder muß ich das anders machen?

Gaert
26-08-2003, 21:46
Macht das online_simu Script irgendwas, was du mit PHP nicht machen könntest?

jean_luc_picard
26-08-2003, 22:14
online_simu ist ein c-programm, das schon etwas umfangreicher ist. warscheinlich könnte man das auch in php realisieren, jedoch wäre das ne menge arbeit das umzusetzten, zumal php nicht gerade meine stärke ist. ich glaube das problem liegt bei den pfadangaben, müssen die absolut sein, oder sollten die auch relativ funktionieren?

Gaert
26-08-2003, 22:46
Am pfad liegt es sicher nicht... hast du das Progrämmchen denn richtig mit chmod bearbeitet und den richtigen owner eingestellt (sollte der user sein unter dem apache läuft) - unter umständen hilft es wenn du die sache erstmal lokal testest, bevor du auf fehlersuche beim provider gehst.

jean_luc_picard
27-08-2003, 08:50
es hatte doch tatsächlich was mit schreibrechten zu tun, die datei, welche vom c-programm erzeugt werden soll, konnte nicht geschrieben werden. ich hatte das c-programm zum testen mal von hand gestartet, und somit bekam die erzeugt datei natürlich mich selbst als benutzer zugewiesen. wwrun (oder wie auch immer der user bei meinem provider heißt) konnte diese somit nicht mehr überschreiben.