[Solved] Restful API auf RaspberryPI (2B+) - Apache2

  • PHP

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Diversity.

    [Solved] Restful API auf RaspberryPI (2B+) - Apache2

    Hallo,

    ich habe aktuell ein Problem auf meinem Raspberry PI (Modell 2B+).
    Ich habe mir von Androidhive.com die Restful-API als Grundlage meines Webservices heruntergeladen (basierend auf PHP + Slimframework): androidhive.info/2014/01/how-t…-slim-and-mysql-day-12-2/
    Unter XAMPP auf meiner Windowsmaschine funktioniert die API Einwandfrei auch von externen Geräten im Netzwerk.
    Die Portierung der Anwendung auf den Raspi sorgt jedoch für Probleme. Beim "curl" aufruf der Restful-API GetMethode, welche auf dem Win-Rechner das gewünschte Ergebnis liefert, reagiert der mini PC mit einem Http404-Error.

    Unter XAMPP und meinem Raspi laufen jeweilige PHP5, Apache2 und MySQL.
    - Da die Abfrage noch nichts mit einer SQL-Abfrage zu tun hat, schließe ich die Fehlerursache dort aus.
    - Da ich HTML Dateien wie meine index.html von außen auf dem Raspi erreiche gehe ich auch von keinem grundsätzlichen Problem des Apache2 aus.
    - Im Log von Apache2 auf Raspi konnte nichts sonderlich spannedes bis auf der eingehende HTTP-Request gefunden werden: "GET /taskmanager/v1/tasks HTTP/1.1" 404 518 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0"

    Freue mich über Ideen und Tipps von euch :)
    Der Statuscode 404 steht dafür das die angeforderte Ressource nicht gefunden werden kann. Wie sieht denn die Url aus die du aufrufst?
    Danke, die Url erklärt alles. Mit deinen Rewrite-Rules stimmt etwas nicht/sind nicht vorhanden/aktiv, wenn du deine Serverkonfiguration anpasst, sollte es klappen.
    Ich schätze in "taskmanager" befinden sich deine ganzen Scripte etc. (incl. index.php)? Dann versuch mal folgende Url http://192.168.2.100/taskmanager/index.php/v1/tasks

    Edit: github.com/codeguy/Slim#apache

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „slice“ ()

    Hi das index.php -Script befindet sich in v1.
    Die genaue Struktur, wo welche Dateien sind erklärt das BIld unten (Bild leider nur als URL, weil Bild aufgrund der http (nicht https) von VB-Paradise blockiert).

    192.168.2.100/taskmanager/v1/index.php wirft weiterhin einen 404.
    Hingegen wenn ich ein index.php Script was direkt im Root des Webserves liegt aufrufe: 192.168.2.100/index.php, wird es ausgeführt.

    Die Rewrite-Rules, die du ansprachst, wie genau, würde ich die wo im Apache2 (auf Debian) konfigurieren?


    (Ordnerstruktur: androidhive.info/wp-content/up…t-directory-structure.png)


    ____________________________________________________________________________________________________________________

    Problem konnte gerade von mir selbst gelöst werden.

    Ich habe vergessen die .htaccess-Datei zu kopieren, da ich dachte diese macht Probleme bei der Zugrifssberechtigung. Nachdem ich nun die Datein ebenfalls kopiere habe, bekam ich Anfang den Fehler:
    Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration


    anders als unter XAMPP (Windows) muss, wenn man die einzelnen Module (LAMP, Linux - Apache, Mysql, Php) unter Debian installiert, die Option für RewriteEngine "aktiviert" also Verfügbar gemacht werden. dies erfolgte in meinem Fall mit dem Command:

    Quellcode

    1. sudo a2enmod rewrite && sudo /etc/init.d/apache2 restart


    Danke für den Support!

    "

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Diversity“ ()