The next Bug: PHP-Scripts längenbegrenzt???

Bugreports und Updatewünsche an die Firma contronics
Keine allgemeinen Fragen!

Moderator: Co-Administratoren

Zeuge
Beiträge: 170
Registriert: 14.09.2006, 21:46
Wohnort: München Harlaching

Beitrag von Zeuge » 29.01.2007, 14:13

Also in der Hilfedatei Homeputer.chm steht bezüglich PHP:
  • Sie können den PHP-Interpreter auch von der contronics-Downloadseite laden (Kasten PHP für Studio-Script-Option).
    Es handelt sich lizenzrechtlichen Gründen auch bei diesem Download um das komplette PHP-Paket.

    Entzippen Sie die Datei und kopieren Sie mindestens den eigentlichen PHP-Interpreter (die Datei php5ts.dll) in das Programmverzeichnis. Das Kopieren anderer Dateien aus dem entzippten PHP-Paket in das Programmverzeichnis ist eventuell je nach Anwendung und benutzten Funktionen erforderlich. Details dazu können Sie der normalen PHP-Literatur entnehmen. Optional kann auch die Datei PHP.INI in das Programm-Verzeichnis kopiert werden. Dort können spezielle PHP-einstellungen vorgenommen werden. Wenn diese Datei verwendet wird, sollte aus Performance-Gründen die Original-Datei mit den Kommentaren unter einem anderen Namen gesichert werden und eine PHP.INI-Datei mit möglichst wenig Inhalt und Kommentaren benutzt werden.
    Weiterhin erforderlich ist die DLL php4app.dll, die zu den Dateien der Studio-Version gehört.
    Sie müssen also vor Benutzung der PHP-Option mindestens die Dateien php4app.dll und php5ts.dll im Studio-Programmverzeichnis stehen haben.
Vielleicht hilft das ein wenig weiter :?:
greetings Zeuge :wink:

Konfig: Windows 7 Pro 64Bit, FHZ1350PC, ca. 40 Funkkomponenten, Wetterstation und Heizungssteuerung

gwanjek
Beiträge: 76
Registriert: 18.12.2006, 17:32
Wohnort: Ostseeküste

Beitrag von gwanjek » 30.01.2007, 09:46

Zeuge hat geschrieben:Sie müssen also vor Benutzung der PHP-Option mindestens die Dateien php4app.dll und php5ts.dll im Studio-Programmverzeichnis stehen haben
Die beiden meinte ich mit
gwanjek hat geschrieben:...die beiden PHP-Programme im Verzeichnis der SW (C:\programme\contronics\...usw) stehen.
Hab inzwischen beide Varianten probiert, also auch den Rest von PHP direkt ins SW-Verzeichnis geholt und Umgebungsvariable dahin verbogen... gleicher Effekt.

Herr Krapoth schreibt da was von
contronics-RK hat geschrieben:Bei Versuch das fragliche Script auszuführen hängte sich das Programm nicht auf, aber es kam die Fehlermeldung:
Error calling PHP-Script in ...
Diese kommt wenn der PHP-Interpeter die Scriptausführung ohne weitere Fehlermeldung/information abbricht.
Aber hier kommt kein Fehler! Das Programm läuft sauber durch. Wo tritt dort der Fehler auf? in der Studio-SW? oder außerhalb am Eingabeprompt direkt aufgerufen? In welcher "line"? Welches Script eigentlich, das von mir zusammengekürzte, oder das originale lt. angegebenem Link?

So kommen wir da nicht weiter. Wenn das Programm als solches sauber durchläuft, aber in der Studio-SW diese einfrieren läßt, und das auch noch code-syntax-unabhängig, wohl aber code-Mengen-abhängig, dürfte das kaum am Script liegen. Ich würds ja noch glauben, wenn das bedeutet, W2K-Server als OS ist nicht kompatibel, oder die resident mitlaufenden Programme Inoculan und Spybot interferieren... aber es tritt auch auf einem XP (ohne Inoculan, dafür Antivir und MS-Defender) identisch im Verhalten auf.

Selbst einen Virus oder sowas schließe ich erstmal nicht aus (sag niemals nie), aber ein unabhängig von anderen Medien und in steriler, ständig überwachter Laborumgebung installiertes anderes System dürfte dann nicht identisch reagieren. Es sei denn, die auf beide Systeme gezogenen Quellen enthielten sowas? Es hat aber keine Überwachung irgend etwas moniert...

contronics-RK
Beiträge: 954
Registriert: 18.07.2006, 15:58

Beitrag von contronics-RK » 30.01.2007, 13:23

Wenn PHP-Funktionen benutzt werden, für die andere PHP-Bibliotheken als die php5ts.dll benötigt werden, müssen diese auch im Programmverzeichnis stehen und die PHP.INI muss ggfs. entsprechend angepasst werden.
Sollte das nicht funktionieren, mailen Sie uns bitte mal die SPG-Datei, wir versuchen dann herauszufinden woran es liegt.

Mit freundlichem Gruss
contronics - Ralph Krapoth

gwanjek
Beiträge: 76
Registriert: 18.12.2006, 17:32
Wohnort: Ostseeküste

Beitrag von gwanjek » 06.03.2007, 23:57

Sorry, jetzt erst gelesen. Es gibt halt auch noch etwas anderes als nur die FHZ-Thematik.... :-)

Ist alles im Verzeichnis, und es funktioniert natürlich NICHT.

Und: Gerne doch! Aber wohin senden? Damit das noch mehr Leute testen können, stelle ich hier ein Beispiel-Projekt als Download-Link bereit (für Spätleser dieses Artikels: Muß ich da wieder wegnehmen nach einem Monat etwa, bedarfsweise per PN anfragen):

Hier zum Download...
...in einer ZIP-Datei zwei Versionen eines total zusammengestrichenen Projektes, mit dem der Fehler bei mir sehr gut auf verschiedenen Computern (sowohl unter Win2000 als auch XP) als auch auf verschiedenen Studio-Releases nachvollziehbar ist.

Im Zip:
"Test_ohnefehler.spg" sowie
"Test_fehler.spg"

Das in beiden Dateien identische Projekt besteht lediglich aus einem KS300-Wettersensor sowie je einem FS20-UP-Schalter und einer Schaltsteckdose (hat alles eigentlich nichts mit dem Problem zu tun, nur um etwas "Stoff" zu haben).

Ansonsten existieren noch ein Zeichen-Objekt zur String-Ausgabe sowie ein Knopf "calcVorhersage" mit dem bewußten PHP-Code.

Druck auf den Knopf führt entweder zur Ausgabe eines (klitzekleinen) Textes im nebenstehenden Zeichen-Objekt, oder aber zum Einfrieren des Projektes / nur noch zu beenden per Taskmanager oder nach einer gewissen Zeit per Klick auf das Kreuz rechts oben / "Programm reagiert nicht / sofort beenden"

Der einzige Unterschied zwischen beiden Projektdateien ist neben dem Projektnamen ein kleiner Abschnitt im Makro am Knopf-Objekt.

Um es im oben beschriebenen Sinn vom Code her länger zu machen und den Fehler zu provozieren, ist bei der Fehler-Version lediglich im unteren Bereich des Scripts die PHP-Function "function ParseVWindrichtung" als "function ParseVWindrichtung2" nochmal darunter dupliziert abgelegt worden.

Durch das Duplizieren ist sichergestellt, das der Code als solcher in der fehlerfreien Version von der Software korrekt abgearbeitet werden konnte und selbst nicht etwa fehlerhaft ist.

Aber ebensogut kann man da auch anderen Code schreiben oder einfach nur Kommentare ablegen. Der Effekt ist der selbe, solange die Codemenge groß genug ist.

Das Makro am Knopf ist ebenfalls sehr stark eingekürzt worden, um an die Grenze des Auftretens des Fehlers zu kommen, und macht inhaltlich natürlich so keinen Sinn mehr. Das stört aber auch nicht, da die Functions gar nicht mehr vom Hauptprogramm aufgerufen werden. Wen es interessiert: Das Originalscript ist oben im ersten Beitrag dieses Foren-Themas verlinkt.

Nun bin ich ja mal gespannt, ob es jemanden gibt, bei dem der Fehler nicht auftritt....

Gruß Gerd
...und vielen Dank für die Bemühungen

contronics-RK
Beiträge: 954
Registriert: 18.07.2006, 15:58

Beitrag von contronics-RK » 08.03.2007, 10:59

Mit der SPG-Datei konnten wir den Fehler jetzt reproduzieren und beseitigen. Bitte die neue DLL php4App.dll verwenden, diese ist in allen Update-Downloads enthalten. Damit ist das PHP-Script bei uns fehlerfrei gelaufen.

Freundliche Grüsse
contronics - Ralph Krapoth

Antworten

Zurück zu „homeputer Studio / Standard: Bugs & Updatewünsche“