Author Archive

Die Version 5.3 der beliebten Scriptsprache PHP ist am Ende

phpmarginPHP 5.3 ist inzwischen fünf Jahre alt und hat nun sein “End of Life” erreicht. Für den 5.3er Zweig soll es nach dem letzte Woche ausgelieferten 5.3.29 keine weiteren Updates mehr geben.

Spätestens jetzt sollte man von dieser Version der beliebten Skriptsprache auf ein aktuelleres PHP wie 5.4 oder 5.5 oder das in Kürze erscheinende 5.6 wechseln.

PHP 5.3 kam im Jahr 2009 heraus und war seinerzeit ein Meilenstein. Die 5.3er Version brachte Namespaces, späte Bindung, einen neuen Garbage Collector und ein eigenes MySQL-Client-Protokoll.

Für das Update eines Softwaresystems auf PHP 5.4 gibt es schon längere Zeit eine Anleitung, ebenso für den Wechsel von PHP 5.4 auf PHP 5.5, die heute noch aktuelle Sprachversion.

Nachfolger der Hauptversion PHP 5 wird übrigens aus einer ziemlich verrückten Entscheidung heraus nicht  PHP 6, sondern PHP 7.

Update für Googles Browser Chrome 36 stopft Sicherheitslücken

chromeSoeben hat Google ein Sicherheitsupdate für seinen Browser Chrome 36 veröffentlicht. Die neue Version steht für Windows, Mac OS X und Linux zum Download bereit und beseitigt insgesamt zwölf Sicherheitsprobleme des Browsers.

Auch für Benutzer von Googles Mobilbetriebssystem Android steht eine fehlerbereinigte Chrome-Version zur Installation bereit.

Nutzer, die die Desktopversion von Chrome schon installiert haben, bekommen das Update 36.0.1985.143 automatisch. Sie können es aber auch von der Google-Website herunterladen. Chrome 36.0.1985.135 für Android soll in den nächsten Tagen über den Play Store auf die Smartphones und Tablets der Anwender gebracht werden.

Browser-Test mit Chrome 35, Firefox 30, Internet Explorer 11 und Safari 8

BrowserSpeedometerAußer der Bedienung spielt für viele Anwender auch die Geschwindigkeit bei der Wahl eines Browsers eine entscheidende Rolle. Auch die Kompatibilität zu modernen Standards wie HTML5 sollte so weit wie möglich gehen.

ZDNet hat die vier aktuellen Browser Chrome 35, Firefox 30, Internet Explorer 11 und Safari 8 unter Windows 8.1 und OS X 10.10 DP1 durch den Test gejagt und die Ergebnisse veröffentlicht.

Bei diesem Test belegt Safari 8 deutlich den ersten Platz. Firefox 30 erreicht unter OS X mit erheblichem Abstand Rang nur in etwa das Niveau von Safari 7.0.4. Chrome kommt bei diesem Test unter allen Browsern am schlechtesten weg – sogar der Internet Explorer erreicht ein besseres Ergebnis.

Dank Facebook bekommt PHP eine saubere Spezifikation

phpZum ersten Mal in ihrer mehr als zwanzigjährigen Entwicklungszeit bekommt die beliebte Programmiersprache PHP jetzt eine offizielle Spezifikation, wie sie auch für die meisten anderen Computersprachen existiert.

Die Arbeit daran wird vor allem von Facebook vorangetrieben, aber auch die PHP-Community unterstützt das Projekt und beteiligt sich an der Ausarbeitung.

Aktuell  beschränkten sich die PHP-Entwickler nur auf Beispiele, die sehr ausführliche Dokumentation und natürlich die plattformübergreifende Standard-Implementierung.

Facebook stellt jetzt aber mit der Hiphop Virtual Machine (HHVM) eine schnellere Alternative zur Original-PHP-Engine bereit. Und auch die Community arbeitet an einer neuen Engine.

Die zu erstellende Spezifikation soll dazu dienen, eine solide Grundlage für das Verhalten neuer Engines zu geben und dadurch zu verhindern, dass sich die Sprache in den diversen Implementierungen auseinander entwickelt, schreibt eine Facebook-Mitarbeiterin.

Die Spezifikation basiert auf den Funktionen von PHP 5.6 und umfasst auch eine Test-Suite, die die Tests der Zend-Engine noch erweitert. Allerdings ist die Spezifikation noch im Aufbau, und auch die Tests enthalten wohl noch einige Fehler.

Kommt als nächstes PHP 6 oder gleich PHP 7?

phpmarginDas ist mal wieder eine Diskussion, so unnötig wie ein Kropf: Die Entwickler der Skriptsprache PHP diskutieren gerade intensiv, ob die nächste Hauptversion der meistgenutzten Scriptsprache PHP 7 statt PHP 6 heißen soll.

Denn weil es schon gescheiterte Versuche für eine Version 6 gab, fürchtet ein Teil der PHP-Entwickler Verwirrung bei den Nutzern.

Ich denke, dass man die Leute mit solchen Diskussionen und sogar Abstimmungen dazu noch weitaus mehr verwirrt, als mit einer normal weiterlaufenden Versionsnummer.

Hätte man auch so viel Sorgfalt auf die Implementierung von Unicode in PHP gelegt, an der man ja schon seit 2005! werkelt, um die Unicode-Version dann als PHP 6 zu veröffentlichen, gäbe es doch keinen Grund für solche Fragen.

Den Fehler, aus PHP 6 dann 5.3 und später 5.4 zu machen, nur weil man die Unicode-Verarbeitung nicht rechtzeitig hineingebacken gekriegt hat, kann man auch mit einem Versionssprung nicht wirklich wieder gut machen.

Google-Browser Chrome saugt Laptop-Akkus leer

ChromeSucksDas Betriebssystem Windows erzeugt 64 mal pro Sekunde einen Timer-Interrupt, entsprechend einem Intervall von 15,6 ms. Dieser Wert soll sicherstellen, dass die CPU nicht durchgehend beschäftigt ist. Auf Notebooks soll dadurch vor allem  Strom gespart werden.

Schon vor Jahren  warnte der Chef-Entwickler von Windows 7, Steven Sinofsky, in einem Blogbeitrag davor, dies Intervall auf 1 ms zu verkürzen, denn das könne bis zu 25 Prozent der Akkulaufzeit kosten. Während des Timer-Interrupts sendet das Betriebssystem Ereignisse (Events) wie beispielsweise Mausklicks an laufende Programme.

Chrome erzeugt aber dummerweise 1000 Interrupts pro Sekunde, also einen pro Millisekunde – mit der Folge, dass die Akkulaufzeit von Notebooks durch den Browser deutlich verkürzt wird. Nach dem schon zweiten Fehlerbericht  dazu im Jahr 2010 wurde das Verhalten angeblich korrigiert.

Aber 2012 kamen erneut Beschwerden, Chrome setze das Intervall während seiner Laufzeit immer auf 1 ms herab. Nun scheint ein Artikel im US-Wirtschaftsmagazin Forbes dazu zu führen, dass die Google-Entwickler das Problem endlich und auch endgültig beheben wollen. Die Energieschluckerei soll jetzt angeblich mit höchster möglicher Priorität behoben werden.

Google bringt Betaversion von Chrome 37

chromium_headerDirekt nach der Vorstellung einer neuen Finalversion hat Google wie immer nach dem stabilen Chrome 36 jetzt auch die erste Betaversion von Chrome 37 online gestellt.

Schriften sind unter Windows besser lesbar

Für Nutzer von Windows geht ein lange bestehender Wunsch in Erfüllung. Die Schriften in den Webseiten werden jetzt besser lesbar gerendert. Chrome nutzt jetzt für die Schriften Microsofts Programmierschnittstelle DirectWrite API, die geräteunabhängig ein klareres Schriftbild liefert.

Bis jetzt nutzte Chrome das alte GDI. Windows-Nutzer forderten schon seit Jahren Verbesserungen. Die Umstellung auf DirectWrite hat angeblich so lange gedauert, weil eine umfangreiche Überarbeitung der Font-Rendering-Engine nötig gewesen ist. Mit der endgültigen Version von Chrome 37 sollten alle Windows-Anwender beim Erscheinungsbild von Texten die Verbesserungen deutlich erkennen, verspricht Google.

Neues bei HTML5, CSS Shapes und JavaScript

Ganz neu ist jetzt auch, dass Chrome 37 das HTML-5-Element dialog versteht, mit dem man Dialoge erstellen kann. Das Element kann mit einem form-Element kombiniert werden, so dass Programme Formulare in eigenen Fenstern anzeigen können.

Bisher ging so etwas nur mit JavaScript-Frameworks. Solche Dialoge können auch modal sein, so dass das Weiterarbeiten erst nach ihrem Schließen möglich ist. Dabei liefern sie auch einen Rückgabewert an die Anwendung.

Standardmäßig ist jetzt zum Berechnen von Hashwerten, Signieren und Prüfen von Signaturen sowie zum Ver- und Entschlüsseln die JavaScript Cryptography API aktiviert, ebenso das CSS-Shapes-Modul, mit dem man Text um beliebig geformte Flächen herumfließen lassen kann.

Google veröffentlicht Chrome 36

GoogleChrome36Gerade hat Google seinen Browser Chrome in der Finalversion 36 zum Download bereitgestellt. Neben der Beseitigung von 26 Fehlern bringt die neue Version Detailverbesserungen für Stabilität und Performance sowie neue Programmierschnittstellen (APIs), mit denen die Modularisierung von Internet-Apps erleichtert wird.

Mit HTML-Imports können Entwickler jetzt ihre Apps stärker modularisieren und Javascript-Programme können jetzt mithilfe der Methode Object_observe() auf Veränderungen der Objekte bzw. deren Attribute reagieren.

Mehr Details zum Update des aktuell beliebtesten Internet-Browsers finden Sie bei Heise.

JPG-Bildformat von Mozilla verbessert

Bildformate_Wikipedia-psnrhvsm-9583fc51868edeb5Ungefähr  fünf Prozent Platzersparnis soll eine verbesserte Version des vor allem für Fotos eingesetzten Komprimierungsverfahrens bringen. Facebook beteiligt sich ebenfalls an der Weiterentwicklung.

Eigentlich geht es hier um, oder besser: gegen das von Google gepushte neue Bildformart WebP. Mozilla vertrat die Ansicht, dass WebP zum Komprimieren von Bilddaten keine Vorzüge gegenüber dem etablierten JPEG bringe.

Jetzt stellt Mozilla seine eigene JPEG-Bibliothek mozjpeg 2 vor, die bei gleicher Qualität durchschnittlich 5 Prozent kleinere Bilder erzeugen soll.

Parallel erschien eine neue Untersuchung, die die Bildgrößen mit JPEG, JPEG XRHVEC-MSP, WebP und dieser neue Bibliothek vergleicht. Danach hat  mozjpeg 2 in fast allen Fällen die Nase vorn. Mit ihrer neuen Bibliothek wollen die Firefox-Entwickler hauptsächlich Google Paroli bieten.

Auch Facebook unterstützt die Mozilla Foundation in Sachen JPEG-Format. Es testet gerade die neue Bibliothek und fördert die weitere Entwicklung mit 60.000 Dollar. Weil Bilder einen großen Teil der im Internet übertragenen Daten ausmachen, dürften auch relativ kleine Gewinne bei der Dateigröße große Auswirkungen sowohl bei der Übertragungszeit als auch beim nötigen Speicherplatz haben.

Serverzeit unter PHP 5 einstellen

phpWenn die Zeit auf dem Server, auf dem Sie Ihre PHP-Anwendung hosten, nicht ihrer lokalen Zeit entspricht, ließ sich das bis PHP 5 beispielsweise mit dem nachfolgenden Code in der PHP-Startseite korrigieren:

$today=date(‚Y-m-d-G‘);
$today=strftime(“%Y-%m-%d-%H”, strtotime(“$today -2 hour”));

Mit diesem Beispiel wird die Serverzeit um zwei Stunden zurückgestellt. Ab PHP 5.1 sollte man zur Einstellung der korrekten Zeitzone allerdings besser die Funktion date_default_timezone_set() dafür benutzen. Das Beispiel legt die Zeitzone für London fest:

date_default_timezone_set(‘Europe/London’);