RPi mag >" nicht

  • Hallo,

    ich habe lighttpd und php installiert.
    Dieser Code geht nicht:

    [code=php]<html>
    <head>
    <title>PHP System Call Demo</title>
    </head>
    <body>
    <?php
    exec("/sbin/ifconfig", $netinfo);
    $netregex='/inet addr:(\d+\.\d+\.\d+\.\d+)/';
    print "$netinfo[1] <br><br><br>";
    preg_match($netregex, $netinfo[1], $matches);
    $ips=$matches[1];
    $ips=preg_replace('/(\d+\.\d+\.\d+\.)\d+/', '${1}*', $ips);
    print "$ips <br><br><br>";
    $nmapresults=system("nmap -sT $ips");
    print "$nmapresults";
    ?>
    </body>
    </html>[/php]

    Ist hier geklaut: http://insilicobiotechnologies.com/tutorials/PHPsystemcalls.htm

    Offensichtlich stört sich das an der Zeichenkombination >" die ein paarmal vorkommt. Sowohl nano als auch php machen diese Stellen nicht mit.

    Was ist falsch?

    Marcus

  • Änder folgende Zeilen
    [code=php]print "$netinfo[1] <br><br><br>";
    ...
    print "$ips <br><br><br>";[/php]

    in:
    [code=php]print $netinfo[1]."<br><br><br>";
    ...
    print $ips."<br><br><br>";[/php]


    PS: nano ist nur ein Editor, der führt nichts als... Also versteh ich deinen vorletzten Satz ebenfalls nicht

  • nano Benutzt - sofern das so eingestellt ist - ein Syntax Highligh, der aber auch fehlerhaft seit kann. Dein oben verwendeter PHP-tagg verwendet ebenfalls ein Syntax-Highlight aber da sieht man auch keinen "Bruch", und auch nicht wenn ich Deinen Code in UltraEdit anzeigen lasse. Wenn ich Deinen Code über meinen apache2 ausführen/anzeigen lasse funktioniert das soweit ebenfalls, da ist kein Fehler bezüglich >" o.ä. zu sehen

    Mit den sperlichen Informationen die du uns gibst können wir Dazu aber auch leider nichts weiter sagen.

  • Code
    print "$ips <br><br><br>";


    PHP-Syntax ist ansich richtig, aber es sollte evtl richtiges html verwendet werden. Es gibt mehr oder weniger tollerante Browser die eine falschen break nicht verstehen.

    So wäre es richtig:

    Code
    print "$ips <br /><br /><br />";
  • Vielen Dank für Eure Mühen. Aber hat alles nichts genützt.
    Im Browser (Opera, Safari) wird nur der Text angezeigt, der in nano weiß und nicht blau ist:

    Zitat

    "; preg_match($netregex, $netinfo[1], $matches); $ips=$matches[1]; $ips=preg_replace('/(\d+\.\d+\.\d+\.)\d+/', '${1}*', $ips); print "$ips


    "; $nmapresults=system("nmap -sT $ips"); print "$nmapresults"; ?>

    Marcus

  • Das wird angezeigt???

    Dann hast du an deiner php-Installation/config irgend was versemmelt oder gar nicht installiert. Denn beim letzten br> meint er das Ende von <?php gefunden zuhaben. Dann kommt der restliche code bist er wieder über irgend ein br> stolpert...

    php installtion wird z.B. erklärt:

    http://www.df.eu/de/service/df-…-debian-ubuntu/

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Funktioniert denn eine einfache Seite mit <?php phpinfo(); ?>

    Und ich weiß nicht was

    Code
    sudo  lighty-enable-mod fastcgi fastcgi-php


    macht.

    Ich vermute das gleiche, was unter meinem Link per Hand angelegt wird - also gugg mal in die conf. Wenn das da nicht so drin ist, dann so machen wie dort beschrieben....

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

    Einmal editiert, zuletzt von Lunepi (2. Februar 2015 um 19:54)

  • @ Lunepi:
    Wenn ich die Konfigdatei nach Deiner Anleitung ändere, kommt auf dem Client nur, dass die Webseite nicht angezeigt werden kann.
    Nach Befolgen der small-blog-Anleitung gehen die Restart- bzw. Shutdown-Clicks. Aber das phpinfo() wird nicht angezeigt. In der Konfigdatei ist von den Änderungen, die in Deiner Anleitung aufgeführt sind, nichts zu finden.

    Marcus

  • Hm, ok, es war ein Versuch.

    Was mich wundert ist, dass nicht mal die phpinfo() ausgeführt wird. Ich nutz lighttpd nicht sondern nginx und habe noch die folgenden Pakete mit installiert:
    php5-common
    php5

    Das habe ich auch gerade in dieser Anleitung gesehen für den Lighttpd: http://www.gtkdb.de/index_36_2452.html
    Wobei wenn ich mir die Pakete ansehe kann, das ehr nicht der Grund sein.

    Noch mal ne doofe Frage: Die Datei mit dem Code hast du als ".php" gespeichert?

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Das ist im grunde egal, hauptsache .php, damit der httpd weiß was damit zutun hat. Dann sollte jetzt ja dein ursprüngliche Skript funktionieren und da hast du ja html und php vermischt.
    Es Muss lediglich klar sein, was dann davon html ist und was php ist <?php .... ?>
    Du kannst auch eine reine php datei bauen die html ausgibt so nach dem Motto "print '<html><body>....</body></html>';"
    Hängt davon ab was man erreichen will.

    Aber schön wenns es jetzt tut...

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Lunepi: "darf nicht" bedeutet das es halt nicht funktioniert. Also ist die Aussage schon richtig.
    Erstellt man eine index.php mit php Code, funktioniert es. Benennt man die Datei aber in index.html um funktioniert der php Code nicht mehr.

    http://raspberrypi.roxxs.org/test/index.php :

    PHP
    <?php
    $output = shell_exec("./datei.sh");
    echo $output;
    ?>

    Selbe Datei als http://raspberrypi.roxxs.org/test/_index.html ... keine Ausgabe mehr.

    *.php wird anders verarbeitet als *.html

  • Wie war das mit dem letzen Wort ;)
    Sorry, aber meine aussage ist nicht verkehrt. Und ich habe auch nix anderes gesagt. Oder bringt dein .html einen fehler? No, also bringt es nur nix das so zu machen! Aber es darf.
    Nebenbei hast du ne kleinen Smiley am ende meiner Aussage gesehen?

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!