howto Wondershaper – Bandbreite einfach reduziert

Für die, die eventuell einen eigenen Router bauen wollen ist Wondershaper ein interessantes Tool. Es kann eine Schnittelle drosseln und somit bestimmten Benutzern nur bestimmte Bandbreite zur Verfügung stellen.
Wondershaper ist unter Debian und Derivate über die APT verfügbar. Die Installation ist auf einer Konsole mit Rootrechten somit gleich erledigt:

howto Wondershaper – Bandbreite einfach reduziert weiterlesen

APC & Smarty unter Windows

Da ich jetzt endlich APC unter Windows zum laufen bekommen habe musste ich feststellen das unter Windows (nicht unter Linux) Probleme mit dem Cache entstehen, wenn man Smarty (2.x) verwendet.
Wie es in Smarty 3 wird, weiß ich nicht – eventuell werde ich das aber noch testen.
Folgender Fehler wurde bei mir geworfen, wenn der Smarty eigene Cache ausgeschaltet ist:

Fatal error: Call to undefined function smarty_core_write_file() in ...\lib\smarty\internal...

Für mich reicht es vorerst, den AP-Cache unter der Windowsmaschine zu deaktivieren, da ich APC derzeit nur für Dateiuploads benötige.
In der php.ini also die Einstellung „apc.cache_by_default“ auf 0 (Off) gesetzt.

...
[APC]
apc.enabled=1
apc.cache_by_default = 0
...

Sollte ich elegantere Lösungen finden, werde ich diese hier natürlich auch veröffentlichen.
UPDATE: Hier eine elegantere Lösung…

Große MySQL Datenbanken einspielen/splitten/teilen

Ich wollte heute eine etwas größere Datenbank via phpMyAdmin importieren. Daraus haben sich zwei Probleme ergeben.

  1. Uploads dürfen maximal 16mb groß sein
  2. PHP hat nur 32mb Arbeitsspeicher zur Verfügung

Auf der Suche nach diversen Lösungen hab ich den Lösungsansatz verfolgt, meine database.sql in mehrere Dateien zu teilen/splitten. Das ist händisch natürlich sehr viel Aufwand – also habe ich nach einem gutem altem batch-script oder dergleichen gesucht. Diverse Programme habe ich auch gefunden, aber keins hat mich von der Funktion her überzeugt.
Wie immer bin ich durch Zufall über die entsprechende Software gestolpert: BigDump
BigDump ist ein kleines PHP-Script welches man via FTP mitsamt der dump.sql in einen Ordner hoch lädt. Vorher öffnet man natürlich das kleine Script und ändert die Parameter für die Datenbank. Eigentlich Selbsterklärend:

// Database configuration
$db_server   = 'localhost';
$db_name     = 'datenbankname';
$db_username = 'username';
$db_password = 'superstrenggeheimespw';

$db_name definiert den Namen der Datenbank in die wir den Dump spielen. $db_username und $db_password beinhalten den Username und das Passwort (wer hät’s gedacht) und $db_server den Host. In der Regel bleibt der auch auf localhost stehen. Ausnahmen sind dem Administrator in der Regel bekannt.
Der Rest ist einfach. Das Script über den Webbrowser aufrufen und aus der Liste der einzuspielenden Dumps den, den man hoch geladen hat auswählen und Stück für Stück einlesen lassen.
Danach sollte man die PHP-Datei aus Sicherheitsgründen unbedingt wieder löschen oder anderweitig mit einem Passwort schützen (z.B. mit htaccess).

„IHTML“ Mit PHP ein Bild in HTML darstellen

Für alle die zu viel Zeit haben:
Ich hab mir die Frage gestellt ob es möglich ist, ein Bild in HTML darzustellen. Sprich: Für jeden Pixel eine DIV-Box erstellen und in der entsprechenden Farbe einzufärben. Natürlich kann man das. Aber kann das auch mit PHP realisiert werden? Natürlich…!
Hier findet ihr das Orginalbild und hier das Bild in HTML dargestellt. Natürlich ohne Qualitätsverlust.
Die Orginal PHP Datei stell ich nicht online da diese Methode doch ein wenig Rechenintensiv ist.
Hier der PHP Code direkt mit entsprechendem HTML dazu:

<html>
<head>
<title>img2html</title>
<style type="text/css">
<!--
.pixel {
width:1px;
height:1px;
float:left;
}
.row {
clear:both;
}
-->
</style>
</head>
<body>
<?php
    $image = new imagick("dialog_ok.png");
    $width = $image->getImageWidth();
    $height = $image->getImageHeight();
    $row = 1;
    $pixel = 1;
    for($row; $row < = $height; $row++) {
        $pixel = 1;
        for($pixel; $pixel <= $width; $pixel++) {
            $tmp = $image->getImagePixelColor($pixel, $row);
            $color[$row][$pixel] = $tmp->getColor();
        }
    }
    foreach($color as $key => $row) {
        print "		<div class=\"row\">\n";
        foreach($row as $key => $row) {
            print "			<div class=\"pixel\" style=\"background-color:rgb(".$row['r'].", ".$row['g'].", ".$row['b'].");\"></div>\n";
    }
    print "		</div>\n";
}
?>
</body>
</html>

Vorraussetzungen hierfür:
– PHP
– Imagick
Sollte tatsächlich jemand dieses Script in den Produktiveinsatz bringen: Ein kleiner Vermerk Seite im Quellcode währe nett!

ham-soft.de – Umzug

UPDATE:

HAM-Soft.de ist bis auf weiteres von mir eingestellt worden.

HAM-Soft.de ist eines meiner Projekte/Hobbys gewesen. In letzter Zeit hat sich die Frage gestellt ob die Website vom Netz genommen werden soll oder nicht. Der Counter sagt mit Tag für Tag das sie genutzt wird aber Kommentare oder dergleichen erscheinen keine.
Einstampfen möchte ich die Website nun doch nicht weil es noch viele gibt, die Nutzen daraus ziehen und ich irgendwie auch noch an ihr hänge. Kurzum habe ich beschlossen sie hier unter einer Subdomain mit weit weniger Funktionen weiter zu betreiben. Wann es so weit ist und ob ich die Hauptdomain eventuell doch noch behalte weis ich nicht.

…Plesk

Als ich mir diesen vServer geholt habe war ich im ersten Moment von Plesk überzeugt. Viele Funktionen, Schönes Layout und und und…
Nach ein wenig Spielerei, ein wenig kucken hier und drücken da ist es aber schon mit den Problememen los gegangen. Ich kann keinen vernünftigen FTP-User erstellen Websiteverwaltung ist der letzte dreck und alles ist am ende doch viel zu unübersichtlich und zerstreut.
Schlussenglich, nach mehreren Neuinstallationen und diversen Tests habe ich mich für Debian 5 (Lenny) ohne Plesk entschieden. Wozu Plesk wenn man es selber besser kann?