Datei über SSH Verbindung in PHP/HTML editieren

  • Beitrag von Dayme ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von bauerj ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Nein eben nicht er will, ich schätze mal für eine CP.
    Die Server.cfg über den Webbrowser bearbeiten. Ok man muss zugaben überschritt ist etwas komisch gewählt.

    "An error doesn't become a mistake until you refuse to correct it."
    --Orlando A. Battista

  • Also ich erklärs nochmal genauer^^ hab wohl etwas verwirrend geschrieben.


    Also ich möchte auf einer website (ja ein CP) die server.cfg auslesen die auf einem anderen Server liegt. Ich hatte die Idee dies über eine SSH verbindung zu machen weiß aber noch nicht wie ich dies anstellen soll.Diese will ich dann editieren und wieder abspeichern.

  • das ist doch mal gut. Habe ich auch schon gesehen frag mich aber bitte nicht wie das genau funktioniert.
    Aber mal ganz ehrlich hat dir der grandiose Post von Herrn bauerj weiter geholfen ? xD

    "An error doesn't become a mistake until you refuse to correct it."
    --Orlando A. Battista

  • also mein Code sieht jetzt so aus: speichern funktionier allerdings das auslesen nicht.. kann mir da vielleicht einer helfen?


    P.S. Danke bauerj hast mir sehr weitergeholfen :)

    PHP
    <?php$connection = ssh2_connect(ZENSUR', 22);ssh2_auth_password($connection, 'ZENSUR', 'ZENSUR');$res = ssh2_exec($connection, "/home/test.txt");if(isset($_POST['set'])) {	$settext = $_POST['text'];$stream = ssh2_exec($connection, "echo '". $settext ."' > /home/test.txt");}?><form method="post" >	<textarea name="text"><?php echo(stream_get_contents($res)); ?></textarea>    <input name="set" type="submit" value="Alles Speichern"/></form>

  • Fast richtig:

    PHP
    <?php$connection = ssh2_connect('ENSUR', 22);ssh2_auth_password($connection, 'ZENSUR', 'ZENSUR');stream_set_blocking($stream, true);$res = ssh2_exec($connection, "cat /home/test.txt");if(isset($_POST['set'])) {	$settext = $_POST['text'];$stream = ssh2_exec($connection, "echo '". $settext ."' > /home/test.txt");}?><form method="post" >	<textarea name="text"><?= stream_get_contents($res)  ?></textarea>    <input name="set" type="submit" value="Alles Speichern"/></form>


    PS: Ich habe gerade gesehen, dass das ganze auch einfacher geht:

    PHP
    <?php
    $stream = @fopen("ssh2.sftp://zensur.de/home/test, 'w+');
  • Fast richtig:

    PHP
    <?php$connection = ssh2_connect('ENSUR', 22);ssh2_auth_password($connection, 'ZENSUR', 'ZENSUR');stream_set_blocking($stream, true);$res = ssh2_exec($connection, "cat /home/test.txt");if(isset($_POST['set'])) {	$settext = $_POST['text'];$stream = ssh2_exec($connection, "echo '". $settext ."' > /home/test.txt");}?><form method="post" >	<textarea name="text"><?= stream_get_contents($res)  ?></textarea>    <input name="set" type="submit" value="Alles Speichern"/></form>



    so hab ich nun getestet funktioniert nicht mit dem auslesen aber spuckt mir folgenden fehler aus:


    Code
    Notice: Undefined variable: stream in /var/www/virtual/ZENSUR.de/htdocs/try.php on line 5 Warning: stream_set_blocking() expects parameter 1 to be resource, null given in /var/www/virtual/ZENSUR.de/htdocs/try.php on line 5
  • Oh, da muss natürlich connection statt stream stehen.


    Ich würde dir aber empfehlen die zweite Möglichkeit mal auszuprobieren, hier könnten sich noch Probleme geben, insbesondere wenn du mehrere Zeilen speichern willst.

  • mit der zweiten komm ich gerade garnicht zurecht..


    und das connection gehört in die klammern von stream_set_blocking oder?


    bekomme folgenden error


    Warning: stream_set_blocking(): supplied resource is not a valid stream resource in /var/www/virtual/ZENSUR.de/htdocs/try.php on line 5


    zeile 5 ist stream_set_blocking

  • So meinte ich das:

    PHP
    <?php$connection = ssh2_connect('ENSUR', 22);ssh2_auth_password($connection, 'ZENSUR', 'ZENSUR');$res = ssh2_exec($connection, "cat /home/test.txt");stream_set_blocking($res, true);if(isset($_POST['set'])) {	$settext = $_POST['text'];        $stream = ssh2_exec($connection, "echo '". $settext ."' > /home/test.txt");}?><form method="post" >	<textarea name="text"><?= stream_get_contents($res)  ?></textarea>    <input name="set" type="submit" value="Alles Speichern"/></form>