CSV-Datei von extern einlesen geht nicht
Hallo zusammen,
ich habe hier ein für mich seltsames Problem. Und zwar möchte ich gerne die Daten von meinem Wechselrichter der PV-Anlage auslesen und weiter verarbeiten ggf. in eine MySQL-Datenbank schreiben. Der Wechselrichter schreibt die Daten in eine CSV-Datei, was eigentlich super ist und zudem ist diese ganz einfach über einen Link zu erreichen. z.B. http://kaco-wr1.ma-home.local/20160130.csv Rufe ich diesen Link auf, so wird mir der Inhalt der CSV angezeigt. Möchte ich diese Datei nun via PHP abrufen so lande ich IMMER im Timeout des Webservers (auf dem das Skript ausgeführt wird). Ich hab es mit file(), file_get_contents(), fgetcsv() aber auch mit copy() um die Datei erstmal auf den Server zu kopieren. Denn wenn die Datei auf dem Webserver liegt kann ich diese auch auslesen.... es muss also ein Problem beim Verbinungsaufbau bzw. Zugriff auf die Datei sein. Leider wird keine Fehlermeldung angezeigt. Ein einfaches Test-Script um den Inahlt der CSV anzuzeigen - endet im Timeout. PHP-Code:
Keine Ahnung warum ich die Datei in PHP nicht einlesen kann, hoffe Ihr könnt mir auf die Sprünge helfen. Gruß Alex |
AW: CSV-Datei von extern einlesen geht nicht
Hab noch weiter etwas rumprobiert..
Beim nachstehenden Skript wird mit immer ausgegeben, dass die Datei angeblich nicht existiert. PHP-Code:
Versteh das im Moment nicht so wirklich. Ach ja: allow_url_fopen ist in der php.ini auf on |
AW: CSV-Datei von extern einlesen geht nicht
file_exists() greift (soweit ich weiss) auf das lokale Filesystem zu, sprich untersucht , ob eine Datei oder ein Verzeichnis vorhanden ist. URL`s sind also keine gültige Pfadangabe.
Lies die Datei mit file() ein und prüfe, ob sie leer ist. PHP-Code:
|
AW: CSV-Datei von extern einlesen geht nicht
Hey sysop,
vielen Dank für die Antwort. Leider funktioniert auch das nicht, läuft wieder in einen Timeout. Ich bin mit meinem Latein echt am Ende, mit einem ganz einfachen Link auf die Datei wie : <a href="http://kaco-wr1.ma-home.local/20160130.csv">Linkname</a> funktioiert einwandfrei! Die CSV wird dann im Browser geöffnet und dargestellt. |
AW: CSV-Datei von extern einlesen geht nicht
Wenn auf Deinem Server erlaubt:
PHP-Code:
Musst Du die ganze Datei in einem Stück einlesen? Wie groß ist die Datei, dass das Script in den Timeout läuft? |
AW: CSV-Datei von extern einlesen geht nicht
Das ist auf meinem Server schon erlaubt auch könnte ich die Ausführungszeit nochmals hochsetzten.
Aber die Datei hat 7kb und sollte diesbezüglich sehr schnell eingelesen sein. Hab mal zum Wechselrichter durchgeroutet, ist ja nix geheimnisvolles was meine PV grade so liefert. http://lan-seeacker.dyndns.org:8080 Direkter Link auf die CSV: http://lan-seeacker.dyndns.org:8080/20160202.csv So könnt Ihr auch gerne selbst mal testen ob Ihr an die CSV kommt. Hab's grade auch nochmal mit der dyndns.org-Adresse getestet, ich komme nicht an die csv-Datei. :-( Hab schon in den Einstellungen des Wechselrichters gesucht ob es da irgendeine Option gibt die so einen Zugriff blockieren bzw. unterbinden könnte, hab aber nichts dergleichen gefunden. Würde auch keinen Sinn machen wenn man die Daten eh exportieren kann. |
AW: CSV-Datei von extern einlesen geht nicht
Prüfe (nochmal) die Servereinstellungen. Welche Rechte hat das Script (index.html)?
Beim Zugriff erhalte ich folgende Fehlermeldung Zitat:
|
AW: CSV-Datei von extern einlesen geht nicht
Die Rechte kann ich so leider nicht prüfen, denn die Adresse leitet direkt auf den internen Webserver des Wechselrichters!
Der Server reagiert leider nicht immer sehr zuverlässig! Einfach nochmal probieren. Hab ja zwei Wechselrichter, und das Phänomen tritt bei Beiden auf. |
AW: CSV-Datei von extern einlesen geht nicht
Nimm mal Kontakt zu Matthias Haag (CTO von KACO new energy GmbH) auf.
Er oder einer seiner Mitarbeiter sollte Dir die Frage beantworten können, ob Du überhaupt wie von Dir gewünscht auf den Webserver auf Deinem Wechselrichter blueplanet 4.6 TL1 zugreifen kannst/darfst. Der externe Verscuh war möglich. Jedoch jeglicher (auslesende) Zugriff auf eine beliebige Datei auf dem Webserver (*.css, *.gif, *.js etc.) war von extern nicht möglich. Vlt. klappt es innerhanlb Deines Netzwerkes. |
AW: CSV-Datei von extern einlesen geht nicht
Mir geht es genauso, kann auch nichts lesen. Möglicher Weise ist der ausgelieferte header auch nicht http konform und PHP verweigert deshalb die Annahme.
fsocksopen erlaubt den Zugriff genauso wenig. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:58:42 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.