Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 04-Jan-2001
< Voriger Tag   Nächster Tag >

Donnerstag, 04. Januar 2001

aoiFrom9To5.php

Mit aoiFrom9To5.php lassen sich Arbeitszeiten erfassen und das Aktualisieren der Serversoftware von amiga-news.de brachte einen Fehler in aoiSQL.php zu Tage.

aoiFrom9To5.php speichert derzeit die Start-, Endzeit, den Projektnamen und einen Kommentar. Damit läßt sich dann leicht angeben wieviel Arbeitsstunden in einer Softwareentwicklung stecken. Hinter der Angabe der Abeitsstunden, bei den dann von mir veröffentlichten Produkten, stehen zwei Ideen:

  1. Sie machen deutlich, dass Software nicht von alleine entsteht, sondern dass Softwareentwicklung eine Arbeit wie jede andere darstellt und insbesonders oft viel Zeit beansprucht.
  2. Im Moment plane ich, die meisten Sachen mit der Preisangabe 'Free Voice' zu veröffentlichen. Wer die Software dann benutzt darf selbst entscheiden wieviel sie Ihr/Ihm wert ist. Also, z.B. 0,- DM, 5,- DM oder auch den üblichen Sharewarepreis von 30,- bis 50,- DM. Die Angabe der Arbeitsstunden, soll dabei helfen den Wert einer Software einzuschätzen, insbesonders in Relation zu anderen Produkten.

Auf amiga-news.de läuft nun PHP V4.04. In dieser Version wurde ein Bug bei mysql_close() behoben, so dass diese Funktion nun wirklich die Verbindung schließt und damit wurde ein Fehler im eigenen aoiSQL.php-Modul aufgedeckt. Die dortige Funktion aoisql_inc() dient zum Hochzählen von Zählern, die in einer Datenbank gespeichert sind. Damit sie unabhängig laufen kann öffnet diese Funktion zunächst selbst eine Verbindung zum SQL-Server und schließt diese am Ende auch wieder. Problem ist dabei, das bei gleichen Parametern mysql_connect() immer den gleichen link identifier liefert, wenn schon eine Verbindung zum Server besteht. Dieser Fall tritt bei den News-Skripts innerhalb von aoisql_inc() auf, da schon vordem Aufruf der Funktion eine Verbindung zum Server besteht und daher innerhalb der Funktion mit dem gleichen link identifier wie außerhalb gearbeitet wird und genau dieser wurde am Ende der Funktion geschlossen und war damit auch nicht mehr außerhalb der Funktion verfügbar. Bis zum Update fiel das nicht auf, weil aufgrund des PHP-Bugs mysql_close() die Verbindung nicht schloß, was jetzt der Fall ist.

Aufgrund dieser Eigenart von mysql_connect() ist es leider umständlich Funktionen entsprechend zu kapseln, so dass sie unabhängig voneinander laufen können und es keine Seiteneffekte gibt. Normalerweise ist es immer so, dass beim Öffnen einer Ressource(Datei, Fenster, Verbindung zum Server etc.) jedesmal eine eindeutige(einmalige) Kennung zurückgegeben wird und man so Open()/Close()-Aufrufe problemlos schachteln kann. mysql_connect() stellt eine Ausnahme zu diesem Prinzip dar.

[Direktlink]

< Voriger Tag   Nächster Tag >

  RSS V0.91

<Januar 2001 >
01020304050607
08091011121314
15161718192021
22232425262728
293031    

Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 04-Jan-2001
(C) 2000-2018 by Sven Drieling