Seite 1 von 2

PHP Script Extern ausführen?

Verfasst: 18.07.2004 12:54
von SoulReaver1989
PHP Script Extern ausführen?

Ich habe 2 Server.

Ein Script soll sich von dem auf dem 2. Server liegenden Script Informationen abholen, ich meine damit, dass das 1. php script
das echo "Ich bin ein Script" vom 2. Script, in eine Variable schreibt $status = "Ich bin ein Script"; damit man damit weiterarbeiten kann.

Also Schema könnte man das so ausdrücken:

Server A ---Frage nach XY----> Server B führt PHP Script aus
Server B ----echo antwort ----> Server A führt sein PHP Script fort


Ich hoffe ich habe mich verständlich ausgedrückt, vielen Dank im Vorraus.
SR1989

Verfasst: 18.07.2004 13:01
von Dwing
Server1 führt ein PHP Script aus und liefert die Ergebnisse als echo zurück:

Code: Alles auswählen

<?php
echo "Hello World\r\n";
echo "Hallo Welt";
?>
Server 2:

Code: Alles auswählen

<?php
$file = file('http://www.server1.net/schript.php');
$status = $file[0];
$status_d = $file[1];
?>
$status enthält Hello World
$status_d enthält Hallo Welt

Verfasst: 18.07.2004 13:11
von SoulReaver1989
Sind das Zeilen die Das Script dann liest? Könnte man das dann auch noch evtl. Kennwort sichern!


edit: außerdem muss das script 1 auf script 2 wieder antworten um weitere daten zu bekommen...

Danke für deine Antwort
SR1989

Verfasst: 18.07.2004 13:27
von Dwing
SoulReaver1989 hat geschrieben:Sind das Zeilen die Das Script dann liest?
Ja
Könnte man das dann auch noch evtl. Kennwort sichern!
Erstell in dem Verzeichnis auf Server 1 eine .htaccess mit Passwortschutz
Das Script auf Server 2:

Code: Alles auswählen

<?php
$file = file('http://username:passwort@server1.net/schript.php');
$status = $file[0];
$status_d = $file[1];
?>
edit: außerdem muss das script 1 auf script 2 wieder antworten um weitere daten zu bekommen...
Nicht möglich, da beim Aufruf von Script 2, Script 1 ja schon fertig ausgeführt ist.

Verfasst: 18.07.2004 13:33
von SoulReaver1989
Der Zeilenumbruch mit : \r\n funzt nicht! Ich habe keine Ahnung wie's weiter geht!

Verfasst: 18.07.2004 14:53
von Pyramide
SoulReaver1989 hat geschrieben:funzt nicht!
Gehts auch etwas genauer?

Verfasst: 18.07.2004 15:19
von SoulReaver1989
Emmm... es gibt zwar einen Zeilenumbruch, der natürlich ned im Browser sichtbar ist, aber das PHP-script liest des ned richtig =( - genau genug?

Verfasst: 18.07.2004 15:59
von Pyramide
SoulReaver1989 hat geschrieben:das PHP-script liest des ned richtig =( - genau genug?
immer noch nicht...was ist "ned richtig" - welchen Code verwendest du, welches Ergebnis erwartest du und welches erhältst du stattdessen?

Verfasst: 18.07.2004 18:01
von SoulReaver1989
Also...

Noch mal das ganze Thema von vorne:

SCRIPT A auf SERVER A, hat Zugriff auf MySQL Datenbank
SCRIPT B auf SERVER B, hat diesen Zugriff aber nicht!
Deshalb soll SERVER A das Script ausführen und die Variablen
an SCRIPT B übergeben.

Es ist egal wie, Hauptsache es funktioniert... das mit 'echo' funktioniert au
nur halber, vielleicht gibt es ja nommal ne andere Möglichkeit?
Hier nommal anders beschrieben:

Server A hat Variablen aus seinem Programmablauf, die möchte
er nun mit den Daten von Server B vergleichen. Server B hat
Zugriff auf die "offiziellen" Daten der MySQL Datenbank, so bekommt
Server A die richtigen Daten und kann prüfen ob das alles auch so
stimmt. Eine direkte Verbindung von Server A zur MySQL DB ist
ausgeschlossen!
Kurzes Beispiel:
(ich nehme mal die Versionsnummer von phpbb als Beispiel wie
eine solche Abfrage aussehen könnte!!!)
Server A an Server B: "Meine Versionsnummer ist 2.0.9"
Server B liest in DB: 2.0.10 ist die neueste Version
Server A bekommt eine "0" von Server B, welche sagt
das Server A nicht aktuell ist. Oder:
Server A liest Datei, Server B vergleicht diese mit seiner
und gibt eine "0" zurück weil sie unterschiedlich sind, also
muss Server A die Datei runterladen...

Gibt es nun ne Lösung ohne Echo oder ned?

Verfasst: 18.07.2004 19:08
von Pyramide
Das sollte dann mit dem Code von Dwing funktionieren. Ich verstehe allerdings immer noch nicht, wo jetzt das Problem mit dem Zeilenumbrich ist :roll: