PHP-Datei auf Apache mit Arduino ausführen

Status
Für weitere Antworten geschlossen.

firatar

Benutzer
Mitglied seit
20. Dez 2017
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe mir für zukünftige Projekte eine DS216j gekauft.
Aktuelles Projekt: Ich habe einen Arduino UNO, der Daten über einen GET Request an ein PHP-Skript sendet. Dieses schreibt dann die Daten in meine Datenbank. Für diese Geschichte habe ich einen Benutzer "Arduino" erstellt und in der Web-Station die Funktion "Eigene Webseite" aktiviert. Dadurch hat dieser Benutzer einen eigenen "www" Ordner indem die PHP-Datei liegt. Wenn ich nun über Port 80 zugreifen will, läuft doch standardmässig der nginx oder?

Ich möchte aber gerne den Apache nutzen. Also habe ich einen vHost(Apache ausgewählt) erstellt, der den Port 112 auf den web-Ordner leitet. Somit müsste doch der web-Ordner unter Apache laufen?

Frage: Habe ich das soweit richtig eingestellt? Wie kann ich prüfen, ob auch wirklich der Apache läuft?


Ich danke Euch schon mal im voraus!
Florian
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
- Firefox-Erweiterung 'Live HTTP-Headers', (sofern Firefox noch nicht die aktuelle Version ist), zeigt das an
- Eigenes PHP-Script und da mit CURL die Seite für den Arduino abrufen (mit den passenden Optionen zeigt CURL auch alle Header)
 

firatar

Benutzer
Mitglied seit
20. Dez 2017
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hi mega,

Danke für Deine Antwort. Doch irgendwie funktionieren Deine Tipps bei mir leider nicht.

Habe ich denn mit dem Einrichten des vHosts alles soweit richtig gemacht?
Ich habe das Gefühl, dass der web-Ordner vom Benutzer "Arduino" trotzdem unter nginx läuft.
 

firatar

Benutzer
Mitglied seit
20. Dez 2017
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Ich habe nun im normalen web-Ordner einen Ordner "base" erstellt. Da drinn liegen nun die PHP-Dateien.
Den vHost (mit Apache 2.2) von Port 112 leitet nun auf diesen Ordner (also web/base).

Doch wenn ich mit dem Arduino folgende Requests aufrufe, erhalte ich Fehlermeldungen:

Request 1:
client.print("GET /data.php?Name=");
client.print(name);
client.print("&Alter=");
client.print(alter);
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(server);
client.println("Connection: close");
client.println();

> Darauf erhalte ich diese Fehlermeldung:

HTTP/1.1 400 Bad Request
Server: NAS
Date: Mon, 08 Jan 2018 13:18:20 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 226
Connection: close
Vary: Accept-Encoding

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>



Request 2:

client.print("GET /data.php?Name=");
client.print(name);
client.print("&Alter=");
client.print(alter);
client.println(" HTTPx/1.1"); << Änderung hier das x
client.print("Host: ");
client.println(server);
client.println("Connection: close");
client.println();

Erhaltene Fehlermeldung:

HTTP/1.1 400 Bad Request
Server: NAS
Date: Mon, 08 Jan 2018 13:23:33 GMT
Content-Type: text/html
Content-Length: 166
Connection: close

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>

Doch warum kommt hier nginx ? Ich habe doch Apache ausgewählt.
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
130
Punkte
89
Schon mal versucht in der Web Station unter „Allgemeinen Einstellungen“ den HTTP-Backend-Server auf Apache umzustellen und nicht nur im VHost?
 

firatar

Benutzer
Mitglied seit
20. Dez 2017
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hi BigRonin,

ja ist bereits auf Apache eingestellt eingestellt.

Es ist auch seltsam, wenn ich den Request mit dem Arduino nur einmal sende funktioniert es. Doch sobald ich es wiederholt in einer Schleife sende, kommen die Fehlermeldungen obwohl es der gleiche Request ist.
 

firatar

Benutzer
Mitglied seit
20. Dez 2017
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
>>> PROBLEM GELÖST <<<

Das Problem lag nicht am Webserver.

Ich habe nochmal einen neuen Code für den Arduino geschrieben, mit dem es jetzt funktioniert. Webserver und vHost unverändert.

Danke Euch für die Tipps!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat