SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.09.2007, 14:22:27
-=LUPO=- -=LUPO=- ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 20
datei_2.php durch datei_1.php ausführen exec() ?

Hallo PHP-Gemeinde,

brauche nochmal Eure Hilfe.

folgendes Problem:

ich starte durch einen Cronjob datei_1.php, je nach dem Ergebnis der datei_1.php soll datei_2.php oder datei_3.php ausgeführt werden.

Code:
if ($bedingung == "true") {
   exec("/home/www/.../datei_2.php");
}else{
   exec("/home/www/.../datei_3.php");
}
Als Fehlermeldung vom Cronjob bekomme ich:
sh: line 1: /datei_2.php: No such file or directory

datei_1.php wird korrekt ausgeführt

Der Cronjob sie so aus:
*/10 * * * * root /usr/bin/php /home/www/.../datei_1.php

Mit system() bekomme ich die gleiche Fehlermeldung wie oben.

Mit shell_exec() bekomme ich "Cannot execute using backquotes in Safe Mode" obwohl safe_mode off ist!?

Hat jemand eine Tipp für mich?

Schon mal vielen Dank für Eure Hilfe :))

Gruß, Michael
Mit Zitat antworten
  #2  
Alt 20.09.2007, 20:19:29
N'Koto Zinde
Guest
 
Beiträge: n/a
AW: datei_2.php durch datei_1.php ausführen exec() ?

probiers mal mit:

exec("./home/www/.../datei_2.php");

alternativ kannst du die datei ja auch IFrame in einbinden.
Mit Zitat antworten
  #3  
Alt 21.09.2007, 08:24:36
-=LUPO=- -=LUPO=- ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 20
AW: datei_2.php durch datei_1.php ausführen exec() ?

Hallo N'Koto Zinde,

Das funktioniert leider nicht:

exec("./home/www/.../datei_2.php");
Fehlermeldung: "No such file or directory"

exec("../home/www/.../datei_2.php");
Fehlermeldung: "No '..' components allowed"

Weitere Info:
Das Script schickt keine Ausgabe an den Browser, sondern läuft nur im "Hintergrund" auf dem Server und wird von einem Cronjob gestartet.

Ich könnte das Script auch in einer Datei packen, aber dann bekomme ich Probleme mit max_execution_time den ich schon auf 600 Sek. gesetzt habe.

Gibt es eventuell noch andere Möglichkeiten die zweite Datei zu starten?

Gruß, Michael
Mit Zitat antworten
  #4  
Alt 21.09.2007, 13:32:39
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: datei_2.php durch datei_1.php ausführen exec() ?

du musst anstatt ./home/www/.../datei_2.php natürlich auch den korrekten pfad zu datei_2.php angeben.
Mit Zitat antworten
  #5  
Alt 21.09.2007, 15:50:40
N'Koto Zinde
Guest
 
Beiträge: n/a
AW: datei_2.php durch datei_1.php ausführen exec() ?

deine fehlermedlugn sagt, dass es diese Datei oder den Ordner nicht gibt. Es muss also an der Adressierung liegen.

was für ein system benutzt du denn auf deinem server (plesk, confixx,..) und was steht anstelle deiner '...'?
Mit Zitat antworten
  #6  
Alt 22.09.2007, 08:10:57
-=LUPO=- -=LUPO=- ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 20
AW: datei_2.php durch datei_1.php ausführen exec() ?

Hallo N'Koto Zinde,

Zitat:
deine fehlermedlugn sagt, dass es diese Datei oder den Ordner nicht gibt.
alle drei Dateien liegen im gleichen Ordner, die erste Datei wird ja gefunden und abgearbeitet bis am Ende das exec() kommt.

Zitat:
was für ein system benutzt du denn auf deinem server (plesk, confixx,..)
ich habe PHP4, Confixx3, SUSE9.3 und Apache2 auf meinem Server.

Zitat:
und was steht anstelle deiner '...'?
das ist nur abgekürzt für /web8/Ornder1/Ordner2/ usw.

Hallo feuervogel,
Zitat:
du musst anstatt ./home/www/.../datei_2.php natürlich auch den korrekten pfad zu datei_2.php angeben.
und wie ist der korrekte Pfad????

Gruß, Michael

Geändert von -=LUPO=- (22.09.2007 um 09:54:00 Uhr)
Mit Zitat antworten
  #7  
Alt 22.09.2007, 09:52:11
-=LUPO=- -=LUPO=- ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 20
AW: datei_2.php durch datei_1.php ausführen exec() ?

Hallo noch mal,

kann es sein, dass man exec() nur einmal aufrufen kann??

Experiment:
Die Datei test_1.php wird durch eine Browsereingabe (www.domain.xy/test_1.php) gestartet.

Code:
test_1.php

<?php
$bericht_datei = "/home/www/.../test.txt";
$bericht_zeile = "Aktuelle Zeit: " . date("d.m.Y H:i:s") . " Datei: test_1 verarbeitet \n";
$bericht = fopen("$bericht_datei", "a");
fwrite($bericht, $bericht_zeile);
fclose($bericht);
exec("/usr/bin/php /home/www/.../test_2.php");
?>

test_2.php

<?php
$sleep(5);
$bericht_datei = "/home/www/.../test.txt";
$bericht_zeile = "Aktuelle Zeit: " . date("d.m.Y H:i:s") . " Datei: test_2 verarbeitet \n";
$bericht = fopen("$bericht_datei", "a");
fwrite($bericht, $bericht_zeile);
fclose($bericht);
exec("/usr/bin/php /home/www/.../test_3.php");
?>

test_3.php

<?php
sleep(5);
$bericht_datei = "/home/www/.../test.txt";
$bericht_zeile = "Aktuelle Zeit: " . date("d.m.Y H:i:s") . " Datei: test_3 verarbeitet \n";
$bericht = fopen("$bericht_datei", "a");
fwrite($bericht, $bericht_zeile);
fclose($bericht);
?>
Die Ausgabe in test.txt sieht so aus:

Aktuelle Zeit: 22.09.2007 08:35:00 Datei: test_1 verarbeitet

Aktuelle Zeit: 22.09.2007 08:35:05 Datei: test_2 verarbeitet


Der Prozess wird also in der Datei test_2.php bei exec() abgebrochen. Aber warum ???

Alle drei Dateien sind doch gleich und liegen im gleichen Ordner.

Gibt es eine Beschränkung, dass exec() nur zweimal ausgeführt werden kann oder darf???

Hat jemand eine Erklärung?

Gruß, Michael


Nachtrag:

wenn ich die Datei test_2.php über den Browser starte wird die Datei test_3.php korrekt ausgeführt.

Die Ausgabe in test.txt sieht so aus:

Aktuelle Zeit: 22.09.2007 08:35:00 Datei: test_2 verarbeitet

Aktuelle Zeit: 22.09.2007 08:35:05 Datei: test_3 verarbeitet

Geändert von -=LUPO=- (22.09.2007 um 12:13:10 Uhr) Grund: Nachtrag
Mit Zitat antworten
  #8  
Alt 22.09.2007, 10:27:14
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: datei_2.php durch datei_1.php ausführen exec() ?

Zitat:
Zitat von -=LUPO=- Beitrag anzeigen
Hallo feuervogel,

und wie ist der korrekte Pfad????

Gruß, Michael
du sagst selbst, dass deine dateien im gleichen verzeichnis liegen. das ist die antwort auf deine frage.
Mit Zitat antworten
  #9  
Alt 22.09.2007, 10:43:39
-=LUPO=- -=LUPO=- ist offline
Anfänger
 
Registriert seit: Sep 2006
Beiträge: 20
AW: datei_2.php durch datei_1.php ausführen exec() ?

Hallo feuervogel,

irgendwie sprichst Du in Rätzeln ;)
Zitat:
du sagst selbst, dass deine dateien im gleichen verzeichnis liegen. das ist die antwort auf deine frage.
ich hab schon leichten Schlafentzug, mach dem Quiz ein Ende und verrate mit die Lösung.

Gruß, Michael
Mit Zitat antworten
  #10  
Alt 22.09.2007, 23:58:16
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: datei_2.php durch datei_1.php ausführen exec() ?

wenn dateien x und y im gleichen verzeichnis liegen, dann ist die relative-pfadangabe von y ausgehend von x: ./y und nicht /ich/rate/.../mal/irgendwas/y
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
script ausführen, bevor exec() fertig ist ingo PHP für Fortgeschrittene und Experten 1 26.06.2006 16:12:12
exec() Problem voidjumper PHP für Fortgeschrittene und Experten 2 01.06.2006 19:42:02
dateien ausführen Opendix PHP Grundlagen 16 31.03.2005 14:21:14
exec und named pipes (PHP/Linux-Mix) michel.r PHP für Fortgeschrittene und Experten 1 24.03.2005 01:35:43
ausführen von .exe Stuhli PHP für Fortgeschrittene und Experten 4 19.02.2003 15:57:21


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:22:06 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt