30.10.14

JPGraph unter Ubuntu 12.04

Nach dem Downloaden des Paketes wollte ich mir die Beispiele ansehen, allerdings kam immer die Meldung

The function imageantialias() is not available in your PHP installation. Use the GD version that comes with PHP and not the standalone version

Nach einigem Googlen hatte ich zunächst versucht PHP mit der GD-Bibliothek erneut zu compilieren, bin dabei aber grandios gescheitert :(

Gut, dass Google nach weitere Treffer lieferte. Nach Auskommentieren der folgenden Else-Anweisung in der Funktion der Datei
jpgraph/gd_image.inc.php
     function SetAntiAliasing($aFlg=true) {
        $this->use_anti_aliasing = $aFlg;
        if( function_exists('imageantialias') ) {
            imageantialias($this->img,$aFlg);
        }
        else {
            //JpGraphError::RaiseL(25128);//('The function imageantialias() is not available in your PHP installation. Use the GD version that comes with PHP and not the standalone version.')
        }
    }

Dann hatte ich noch das Problem, dass die TTF-Fonts nicht vorhanden waren.
Arial.ttf und arialbd.ttf mussten installiert werden mittels
apt-get install ttf-mscorefonts-installer
 Diese befinden sich dann im Pfad:

/usr/share/fonts/truetype/msttcorefonts/

Ein Zugriff war jedoch weiterhin nicht möglich.
Fehlermeldung:

 PHP Warning:  file_exists(): open_basedir restriction in effect

Das bedeutet, dass PHP keine Rechte für das entsprechende Verzeichnis, in dem die Fonts liegen, besitzt.
Diese Restriktion habe ich innerhalb der Domainkonfiguration des Apache ausgeschaltet

<Directory />
php_admin_value open_basedir none
.......
</Directory>

Evtl. müssen die Fonts noch entsprechend kopiert werden oder die Config von JPGraph angepasst werden.




17.10.14

Dateien rekursiv durchsuchen und je nach Inhalt löschen

Problem:

Mailserver mit eigenen Mails zugebombt. Und wer schon einmal versucht hat mehrere Millionen Mails zu löschen, ist schnell an die Grenze von "rm" gestoßen.

Außerdem sollen nicht alle Mails gelöscht werden, sondern nur die mit einem bestimmten Inhalt.

Lösung: find in Verbindung mit egrep und rm:

 find /var/qmail/mailnames/{DOMAIN}/{MAILNAME}/Maildir/new -type f -exec egrep -i "{SUCHSTRING}" {} >/dev/null 2>&1 \; -exec rm {} \;


Openhab und Ecoflow Max - API Anbindung

 Ich wollte die neu erworbene Powerstation in Openhab einbinden, um den aktuellen Status (Ladestand etc.) über Openhab auswerten zu können. ...