PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘PHP’ Category

OpCache in PHP 5.5

with 4 comments

Ende Januar wurde es von Zeev Suraski, dem Chef von Zend, angekündigt und am 13. Februar in die Tat umgesetzt: Der Quellcode des Opcode Caches von Zend mit dem Namen Optimizer Plus wurde auf GitHub veröffentlicht und unter die PHP-Lizenz gestellt, mit dem Ziel es in den PHP-Kern einzubauen. Der Zeitplan war aber sehr problematisch, denn eigentlich war für März die neue PHP-Version 5.5 geplant. Doch der Code ist bereits seit Jahren im Closed-Source-Einsatz bei Zend, ziemlich stabil, und es wäre das neue Feature in der neuen Version.

Release und Voting

Doch dafür muss der jährliche Release-Zyklus gedehnt und das Release um wenige Monate verschoben werden. Die Diskussion ging einige Wochen, auch bereits vor der eigentlichen Veröffentlichung, und ein Voting im RFC sollte entscheiden. Doch auch das Voting war problematisch, denn es gab 3 Möglichkeiten: Release mit PHP 5.5 incl. Verzögerung von wenigen Monaten, Release mit PHP 5.5 nur ohne Verspätung sprich 5.6, und die dritte Möglichkeit war keine Integration in den Kern.

Weiterlesen »

Written by Michael Kliewe

März 20th, 2013 at 10:19 am

Buchverlosung: Erfolgreiche Softwareprojekte im Web (100 Gedanken)

with 100 comments

Heute eine schnelle Verlosung: Ich habe vom Kollegen Nils (phphatesme.com) ein frisches Exemplar seines neuen Buches zur Verlosung bekommen: Erfolgreiche Softwareprojekte im Web – 100 Gedanken zur Webentwicklung

Da ich es selbst noch nicht durch habe (bin bei Gedanke Nummer 12) kann ich euch noch keine Rezension präsentieren, aber es ist drin was versprochen wird: 100 Gedanken zur Webentwicklung, eine breite Übersicht über wichtige Themen bei Webprojekten. Einige bekannte Gastautoren steuern ihren wichtigsten Gedanken bei, jedes der 100 Kapitel ist ungefähr 2-4 Seiten lang und enthält die Essenz zum Thema, sodass man sich bei Interesse weiter informieren kann.

Da es so neu auf dem Markt ist möchte ich nur eine kurze Verlosungsphase machen: Wer mitmachen möchte muss in den nächsten 58 Stunden hier im Blog einen Kommentar hinterlassen (Ende demnach Sonntag 17.03.2013 23:59). Ich kontaktiere den Gewinner dann per E-Mail bzgl. Adresse. Mehrfachteilnahme natürlich unerwünscht.

Viel Glück!

Erfolgreiche Softwareprojekte im Web - Front Erfolgreiche Softwareprojekte im Web - Back

Written by Michael Kliewe

März 15th, 2013 at 1:22 pm

Richtige Threads in PHP einfach erstellen mit pthreads

with 34 comments

Wir alle haben gelernt dass PHP kein richtiges Multi-Threading kann, und auch Kindprozesse zu forken ist nicht ganz trivial. Extensions wie PCNTL funktionieren nicht unter Windows und sind schwer zu bedienen. Man kann sich eventuell mit exec() behelfen und damit weitere Prozesse starten, verliert dann jedoch die Möglichkeit, die Prozesse zu synchronisieren oder einfach Nachrichten zwischen ihnen auszutauschen.

Und wer möchte eigentlich Threads in PHP und wofür?

Größere Projekte gehen heutzutage häufig den Weg, für Asynchronität und Parallelität Tools wie Gearman zu nutzen. Mit einem Gearman-Job-Server und einer beliebigen Menge an verbundenen Workern, die auch noch in beliebigen Programmiersprachen geschrieben sein können, kann man eine Menge Arbeit parallelisieren, aber ist eine komplette Gearman-Installation wirklich immer nötig? Gerade für kleinere Projekte ist das sicherlich zuviel, und auf Shared Hosting Platformen kann man keine Worker starten.

Weiterlesen »

Written by Michael Kliewe

März 13th, 2013 at 12:26 pm

Posted in PHP

Tagged with , , , ,

Die CouchDB Datenbanken komprimieren

without comments

Heute gibts ein kleines Hilfsscript für all diejenigen, die eine CouchDB einsetzen und noch nicht den neuen Auto-Compaction-Dienst nutzen (können) den Version 1.2.0 mit sich bringt. Compaction benötigt man bei CouchDB um die Datendateien klein zu halten, denn CouchDB ist append-only, d.h. alle Aktionen werden hinten angehängt, insgesondere auch Updates und Deletes. Dadurch wachsen die Datenbank-Dateien mit der Zeit an und beinhalten einen Großteil alter Daten, die schon längt invalide sind. Mit Compaction wird die Datei einmal neu geschrieben mit nur dem aktuellen Inhalt.

Das folgende Script durchläuft eine Liste von Datenbanken und komprimiert sie, inklusive einem vorhandenen View. Dass es für den Einsatz in eurer Umgebung angepasst werden muss versteht sich von selbst, man könnte es z.B. auch noch so erweitern dass man erst eine Liste aller Datenbanken abruft und darüber iteriert, und auch eine Liste der jeweiligen Views holt und darüber iteriert. Für mich jedoch reichte für den einmaligen Einsatz vor der Migration zu 1.2 eine relative starre Liste.

Weiterlesen »

Written by Michael Kliewe

Februar 27th, 2013 at 11:51 am

Gewinner des PHP-Summit-Tickets und der PHP-Magazin-Abos

with 5 comments

Die Gewinner der Verlosung der PHP-Magazin-Abos und des 3-Tages-Tickets für den PHP-Summit im März stehen fest:

PHP-Summit Ticket:

  1. Christian (der Christian der am 2013-02-02 01:02:06 kommentiert hat, Comment-ID 189837)

PHP-Magazin Abos:

  1. Christoph
  2. Tim (Kommentar um 2013-02-01 18:29:24, Comment-ID 189650)
  3. Matthias

Herzlichen Glückwunsch! Ihr habt alle eine E-Mail von mir erhalten. Vielen Dank auch nochmals an Mirko Hillert von S&S Media für die Bereitstellung der Gewinne!

Written by Michael Kliewe

Februar 12th, 2013 at 10:10 am