Archiv der Kategorie: Linux

Parallel processing in PHP

Since PHP does not offer native threads, we have to get creative to do parallel processing. I will introduce 3 fundamentally different concepts to emulate multithreading as good as possible.

Using systemcalls

If you have some basic linux knowledge, you will know that a background process can be started by adding ampersand to the systemcall (in Windows, it’s the start-command)

1
2
dav@david:/var/www$ php index.php &
[1] 3229

The PHP script is running silently in the background. What is being printed to the shell (3229) is the process id, so that we are able to kill the process using

Veröffentlicht unter Linux, Performance, php, webdev | 13 Kommentare

Systemaufrufe, Linux, Windows, Rückgabewerte und der Errorstream

Heute folgendes Problem gehabt: Es soll ein Systemaufruf an openssl ts zur Signierung von Timestamps (siehe hier) erfolgen. Das an sich ist ja erst mal noch kein Problem. Allerdings soll die geschriebene Klasse gleichermaßen unter Linux und Windows mit möglichst aussagekräftigen Fehlermeldungen zum Einsatz kommen. Jetzt ist die pikante Sache daran, dass der ts-Parameter von openssl erst ab Version 0.99 mit dabei ist, die standardmäßig unter Debian Lenny nicht mit installiert ist. Jetzt erzeugt netterweise ein Aufruf von openssl ts einen Returnwert von 0 (= alles okay), obwohl openssl den ts-Befehl in der installierten Version garnicht kennt – wir haben also keine Möglichkeit über eine Prüfung des Returnwertes alleine über Erfolg oder Misserfolg der Funktion zu entscheiden:

Veröffentlicht unter Linux, php, Quicktips, webdev | 1 Kommentar

praktischer Linux/Ubuntu-Stuff

Mal ein paar zusammengewürfelte Sachen die ich in letzter Zeit als recht praktisch empfunden habe. Los gehts mit

Alias

Wer in die Shell

1
alias l="ls -lha"

reinkloppt, kann in Zukunft nur noch l in die Konsole tippen und spart sich den Rest. Allerdings gilt der Spaß nur für die aktuell laufende Sitzung. Mittels

1
gksudo gedit /home/username/.bash_aliases

wird die alias-Datei geöffnet. Da dann den oben beschriebenen Befehl reingehauen und er ist auch persistent über den Neustart hinaus.

Entfernen des Boot-Splash-Screens (GRUB)

Ich schau mir lieber die durchratternden Bootmeldungen an als einen unsexy Ubuntu Ladebalken. Wie kriegt man den weg?

Veröffentlicht unter Linux, Quicktips | Hinterlasse einen Kommentar

Windows vs Linux aus Developer-Perspektive

Nachdem ich mehr und mehr mit Servergefrickel unter Debian zu tun hatte und mich die Installation von CouchDB unter Windows fast zur Weißglut getrieben hat, hab ich mich für Ubuntu 10.04 – vorerst als Multiboot – entschieden. Hier will ich nun ein paar meiner Erfahrungen zusammenstellen, die mich beim Umstieg so getrieben haben.

Installation / Multi-Boot

Ubuntu macht das ganz sauber, Installation ist DAU-Konform. GRUB wird korrekt eingerichtet, sodass man beim Booten wie gewünscht das OS wählen kann, joa – super. Alternative ist für Ubtunu WUBI, der sich in einen Container in euer Windows einnistet und somit keine “echte” Parallelinstallation erfordert. Weiterhin kann man auch VirtualBox oder eine andere VM strapazieren, was ich aber nicht sonderlich klasse finde – Performance unterm Laptop, umswitchen etc. ist dann doch nicht so flüssig wie unter der nativen Installation.

Veröffentlicht unter Linux, misc IT, Persönlich | Hinterlasse einen Kommentar