CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
30.06.2002, 17:36:36
|
Anfänger
|
|
Registriert seit: Jun 2002
Beiträge: 6
|
|
programm starten
hallo,
ich möchte, das ein user ein programm auf dem webserver starten kann.
habe ein formular gemacht, wo er das programm auswählen kann.
wie kann ich denn nun das programm starten lassen??
es ist im verzeichnis /www/home/web2/testprog/
und heisst: tkl
normal starte ich es mit ./tkl +port 5544
(linux webserver)
danke ersmal
|
30.06.2002, 22:33:33
|
|
Junior Member
|
|
Registriert seit: Apr 2002
Alter: 42
Beiträge: 282
|
|
Willkommen im Selfphp-forum!
Das was du suchst kann dir das php-Handbuch am besten erklären, und damit du nicht lange suchen mußt, hier die direkte URL:
http://www.php-center.de/de-html-man...tion.exec.html
Hoffy, ich konnte dir helfen!
__________________
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Im Leben ist nichts umsonst!
Selbst der Tod kostet das Leben!
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
01.07.2002, 21:51:52
|
Anfänger
|
|
Registriert seit: Jun 2002
Beiträge: 6
|
|
danke erstmal
ich bin aber zu doof
ich bekomme das mit dem befehl exec() nicht gebacken
könnte mir mal jemand einen befehl für das programm posten?
wäre super
folgendes:
so hab ich es derzeit in dem php-formular stehen und das scheiss ding startet nicht
<?
if ($antwort == "ja") {
exec("screen -A -m -d -S tkl_1 ./tkl -port 5544 >/dev/null 2>&1");
echo "TKL gestartet"
} else {
echo "nicht gestartet"
} ?>
was ist falsch?
mit "screen -A -m -d -S tkl_1 ./tkl -port 5544" starte ich normaler weise das programm
das php formulat liegt derzeit im gleichen pfad wie das programm
/www/home/web2/testprog/
|
01.07.2002, 23:24:00
|
|
Junior Member
|
|
Registriert seit: Apr 2002
Alter: 42
Beiträge: 282
|
|
versuche mal von wurzel-verzeichnis aus zu starten, also von / und gib dann den kompletten pfad und die auszuführende datei an. du mußt nämlich leider vom php-parser auf den verzeichniszeiger steuern, und nicht von dort aus wo du es willst. das umgehst du wie schon gesagt indem du vom wurzelpfad ausgehst
__________________
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Im Leben ist nichts umsonst!
Selbst der Tod kostet das Leben!
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
02.07.2002, 00:33:06
|
Anfänger
|
|
Registriert seit: Jun 2002
Beiträge: 6
|
|
wieder nix - ich dreh noch durch
kommt aber auch keine fehlermeldung
hab jetzt anstelle von
exec("screen -A -m -d -S tkl_1 ./tkl -port 5544 >/dev/null 2>&1");
exec("/www/home/web2/testprog/tkl -port 5544 >/dev/null 2>&1");
geschrieben
nix - einfach nix - startet nicht - keine fehlermeldung - nix - gar nix
:(
|
02.07.2002, 10:02:54
|
|
Member
|
|
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
|
|
würde ich NIEMALS machen! der user braucht die liste nicht verwenden, er könnte genausogut alles per telnet zu dir schicken, und dann hättest du ein problem, da er jedes programm auf deinem Computer ausführen könnte.
|
02.07.2002, 14:13:26
|
Anfänger
|
|
Registriert seit: Jun 2002
Beiträge: 6
|
|
hi matt,
wie würdest du das regeln?
ich möchte, das die kunden das programm selber restarten können, wenn es mal hängen bleibt?
und das am besten via einem formular.
|
02.07.2002, 16:56:49
|
|
Member
|
|
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
|
|
Das problem dabei ist, dass es nicht nur kunden neustarten können, sondern praktisch jeder, der möchte.
was ich mir noch einreden lassen würde, ist den einzelnen commandos ids zuzuweisen, z.b.
ls -la entspricht 1
init 0 entspricht 2
usw.
und dann übergibst du deinem script nur die id von dem befehl, dieses überprüft mittels switch, was es tun soll und tut das entsprechendes.
Code:
$cmd=2;
switch($cmd)
{
case 1: exec("shutdown -r now"); break;
case 2: exec("./php meinscript.php"); break;
case 3: exec("ls -la"); break;
default: die("funktion nicht unterstützt!");
}
das ist die einzige methode, die ich für sowas anwenden würde...
|
02.07.2002, 22:50:06
|
Anfänger
|
|
Registriert seit: Jun 2002
Beiträge: 6
|
|
@matt
ja ist schon klar - das starten des proggys geht dann auch nur im kundenbereich und auch nur mit den daten, welche in einer datenbank dann liegen
daß heisst, der kunde kann nur sein proggy starten
so jetzt siehts aus als wolle er was starten - nur was ist der safe mode??
bitte nochmals um hilfe, wie das wegbekomme
Warning: SAFE MODE Restriction in effect. The script whose uid is 1038 is not allowed to access /www/home/web2/testprog/tkl owned by uid 0
habe jetzt folgendes im formular stehen
Code:
chdir ("/www/home/web2/testprog");
exec("./tkl >/dev/null 2>&1");
|
03.07.2002, 09:50:06
|
|
Member
|
|
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
|
|
ist eine einstellung in der php.ini, die besagt, dass erweiterte sicherheitsvorkehrungen getroffen werden, du kannst sie abdrehen, allerdings gilt das dann für dein ganzes web und das wäre weniger gut, du könntest versuchen, die entsprechenden verzeichnisse als include dirs aufzulisten, oder safe mode abdrehen. Wenn Safe mode nicht notwendig ist, würde ich allerdings diesen abdrehen.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:26:40 Uhr.
|