Wie kann ich mehrere PHP-Skripte innerhalb eines PHP-Skripts (wie eine Batch-Datei) ausführen?

7

Wie kann ich mehrere PHP-Skripte innerhalb eines anderen PHP-Skripts ausführen, z. B. eine Batch-Datei? Ich glaube nicht, dass Include funktioniert, wenn ich verstehe, was include tut; weil jede der Dateien, die ich ausführe, einige der gleichen Funktionen usw. neu deklariert. Was ich möchte, ist jedes neue PHP-Skript auszuführen, als ob es in einem sauberen, frischen Stapel wäre, ohne die Variablen, Funktionen usw. zu kennen kam davor.

Update : Ich hätte erwähnen sollen, dass das Skript unter Windows läuft, aber nicht auf einem Webserver.

    
Charles 21.05.2009, 18:32
quelle

4 Antworten

10

Sie können die Funktion exec () verwenden, um jedes Skript als externen Befehl aufzurufen.

Zum Beispiel könnte Ihr Skript Folgendes tun:

%Vor%

Exec hat einige Sicherheitsprobleme, aber es klingt so, als könnte es für Sie funktionieren.

    
zombat 21.05.2009, 18:35
quelle
6

// Verwende Ссылка

%Vor%

Früher habe ich etwas wie ein Frameset erstellt, das einen Link zu jeder Datei enthält. Rufen Sie das Frameset auf, und Sie rufen alle Skripts auf. Sie könnten das gleiche mit iframes oder mit Ajax in diesen Tagen tun.

    
artlung 21.05.2009 18:37
quelle
3

exec () ist eine gute Funktion, die Sie verwenden müssen, aber Sie müssen bis zur Beendigung des Prozesses warten, um mit dem übergeordneten Skript weiterzumachen. Wenn Sie eine Reihe von Prozessen durchführen, bei denen jeder Prozess etwas Zeit in Anspruch nimmt, würde ich Ihnen empfehlen, popen () zu verwenden.

Die Variable, die Sie erhalten, erzeugt einen Zeiger auf eine Pipe, die es Ihnen erlaubt, eine Handvoll Prozesse gleichzeitig zu durchlaufen, sie in einem Array zu speichern und dann auf alle mit der seriellen Geschwindigkeit zuzugreifen, nachdem alle fertig sind (viel mehr gleichzeitig) mit steam_get_contents ().

Dies ist besonders nützlich, wenn Sie API-Aufrufe ausführen oder Skripts ausführen, die möglicherweise nicht speicherintensiv oder rechenintensiv sind, aber eine erhebliche Wartezeit erfordern, bis alle beendet sind.

    
Robert Elwell 21.05.2009 18:45
quelle
3

Wenn Sie von diesen Skripten irgendwelche Rückgabeergebnisse benötigen, können Sie die system verwenden Funktion.

%Vor%     
tj111 21.05.2009 18:49
quelle

Tags und Links