PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Search Results

Gearman Worker verbinden sich nach Upgrade nicht mehr

with 5 comments

Heute ein kurzer Tipp bezüglich PECL/gearman: Wenn ihr bei der Nutzung einer aktuellen Version den folgenden Fehler bekommt

send_packet(GEARMAN_COULD_NOT_CONNECT) Failed to send server-options packet
-> libgearman/connection.cc:430

dann liegt es daran dass ihr keinen Port beim Aufruf der Methode GearmanClient::addServer() angegeben habt. Bisher war der zweite Parameter optional und als Default wurde 4730 genommen, aber seit einigen Versionen (welcher genau kann ich nicht sagen) scheint er angegeben werden zu müssen. Wir benutzen aktuell PECL/gearman Version 1.1.1 kompiliert mit libgearman 1.1.5

Falls ihr also Gearman nutzt und den zweiten Parameter noch nicht gesetzt habt, fügt ihn am besten jetzt schon hinzu, damit ihr bei einem Upgrade in der Zukunft keine Probleme bekommt.

Hier habe ich die Lösung gefunden (wäre ich selbst wahrscheinlich nie drauf gekommen):
http://stackoverflow.com/questions/14883681/gearman-gives-me-gearman-could-not-connect-it-is-definitely-running
https://answers.launchpad.net/gearmand/+question/221277

Written by Michael Kliewe

April 8th, 2013 at 3:22 pm

Richtige Threads in PHP einfach erstellen mit pthreads

with 17 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.

Read the rest of this entry »

Written by Michael Kliewe

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

Posted in PHP

Tagged with , , , ,

Interview mit Sebastian Bergmann und Stefan Priebsch (inkl. Buchverlosung)

with 53 comments

Heute mal etwas neues: Ich durfte ein Interview mit den beiden PHP-Experten Stefan Priebsch und Sebastian Bergmann führen, ich hoffe ich habe einige interessante Fragen an die beiden stellen können. Viel Spass beim Lesen!

Michael: Hallo Sebastian, hallo Stefan, erst einmal vielen Dank, dass ich mit Euch dieses Interview führen darf. Außerdem vielen Dank für Eure PHP-Tools und Vorträge, mit denen unser aller Leben einfacher und unser PHP-Code qualitativ hochwertiger wird. Könnt Ihr euch bitte kurz in drei Sätzen vorstellen?

Sebastian: Stefan und ich sind zwei der drei Gründer von thePHP.cc, einem Beratungsunternehmen für PHP und verwandte Technolgien. Qualitätssicherung ist mein Business. Meine Partner und ich decken zusammen alle Felder ab, die bei PHP für Kopfschmerzen sorgen können.

Stefan: Ich bin wie Sebastian Diplom-Informatiker. Meine Spezialgebiete sind skalierbare und performante Softwarearchitekturen sowie OOP. Als Vater von Zwillingen beschäftige ich mich auch privat intensiv mit Skalierungsproblemen.

Michael: Meine erste Frage geht an Sebastian: Wie aufgeregt bist Du bei der Veröffentlichung einer neuen Version von PHPUnit?

Read the rest of this entry »

Written by Michael Kliewe

Oktober 18th, 2012 at 9:40 am

Web Developer Conference 2012 – Tag 2

with 3 comments

Nach dem ersten Tag folgt natürlich noch der zweite Konferenztag der Web Developer Conference in Hamburg, hab es erst jetzt geschafft den zweiten Tag zusammenzufassen, damit ihr auch seht was ihr verpasst habt ;-)

Session 2: David Zülke – Big Data mit Hadoop

Erstmal habe ich selbst etwas verpasst, denn den ersten Slot habe ich nicht sehen können, mein Tag begann mit dem Vortrag von David Zülke über Big Data mit Hadoop. Hadoop ist das Standard-Toolset um mit normaler Hardware einen großen Datencluster aufzubauen mit dem man Petabytes von Daten speichern und abfragen kann. Durch die Verteilung auf möglichst viele Clusternodes mit möglichst vielen Festplatten geht es hauptsächlich darum I/O Flaschenhälse zu verhindern, und Daten parallel zu schreiben und zu lesen. Beeindruckend sind die Zahlen von Facebook und Google: Facebook hat 2010 pro Tag 12 TB Daten in ihren Cluster gepumpt, und ca. 12,5Petabyte an Gesamtspeicher. Google bearbeitete 2007 pro Monat 400 Petabyte und schreibt täglich bis zu 1 Petabyte in ihren Cluster! Whao…
Read the rest of this entry »

Written by Michael Kliewe

September 23rd, 2012 at 1:07 pm

10 gute Gründe, sich noch heute einen guten VPN Anbieter zu suchen (mit Gewinnspiel)

with 104 comments

Gastartikel von Oliver Sperke.

Ich bin 35 Jahre alt und seit 11 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängisten Internetsprachen: PHP, HTML, Javascript und CSS.

Wie Ihr vielleicht schon mit bekommen habt, habe ich für AnonSphere einige Dinge entwickelt. Meine Hauptaufgabe dabei war es, die Nachteile der meisten VPNs so gut es geht zu minimieren, aber die Vorteile beizubehalten oder noch zu verbessern. Michael fragte, ob ich das Ganze gern vorstellen möchte. Ich sagte natürlich “Ja klar, aber nicht ganz ohne Mehrwert”. Deshalb nun ein paar VPN Grundlagen und danach 10 gute Gründe, warum der Schutz Eurer Privatsphäre keine abstrakte Idee bleiben sollte, sondern noch heute für Euch wichtig sein kann.

Was ist ein VPN und was passiert da?

Ein VPN (Virtuelles privates Netzwerk) ist ein abgeschlossenes Teilnetz innerhalb eines größeren IP Netzes, indem die Teilnehmer meist räumlich getrennt sind. Die Teilnehmer verbinden sich über ein VPN Protokoll (OpenVPN, L2TP, usw.) zum Hauptserver und erhalten eine eigene IP. Sofern die Verbindung verschlüsselt ist, können Computer ausserhalb des VPN die Daten weder lesen, noch verändern. Ein VPN ermöglicht also die Kommunikation mit ausgewählten Rechnern und gleichzeitig die sichere Trennung von anderen Netzwerken. Der Trick ist, dass die Kommunikation über eine simulierte Netzwerkkarte erfolgt, jedes Programm kann es nutzen ohne irgendwelche zusätzlichen Einstellungen. Einmal verbunden können Eure Daten standardmässig über diese Netzwerkkarte verschickt werden.

Read the rest of this entry »

Written by Oliver

September 12th, 2012 at 10:17 am