php unserialize “_php_incomplete_class” namespace

Ich habe in PHP ein unserialize() ausgeführt. Die darin enthaltenen Daten sind valide und die dazugeörige Klasse ist in meinem Framework bzw. in meiner Library enthalten. Dennoch hat das unserialize() nicht funktioniert und führte zu einem Objekt in dem die Klasse _php_incomplete_class vergeben wurde.

Sofern es zu der Zuordnung der Klasse _php_incomplete_class kommt liegt dies daran, dass die Klasse nicht gefunden werden konnte. Daher ist ein require bzw. include der jeweiligen Klasse notwendig. Ggf. sollte auch die Verarbeitung des Autoloaders überprüft werden, sofern die Klasse normalerweise automatisch geladen werden würde.

Speedtest auf Linux konsole starten um Download- und Uploadrate zu messen

Um auf der Linux Console einen Speedtest durchzuführen um die Uploadgeschwindigkeit sowie Downloadgewschindigkeit zu testen habe ich ein gutes Tool und Programm gefunden. Dies ist auf github zu finden und kann simpel für den aktuellen Benutzer installiert und eingerichtet werden.

Dafür einfach folgende Befehle auf der Konsole ausführen:

mkdir ~/bin
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py -O ~/bin/speedtest-cli
chmod +x ~/bin/speedtest-cli

Nun kann man den Speedtest durchführen. Mittels folgenden Befehl kann man diesen sofort starten und das Tool sucht automatisch den nächstgelegenen Server für einen Test der Datenverbindung:

speedtest-cli

Dieses Tool hat viele umfangreiche Testmöglichkeiten. Um nur einen geringen Überblick hierüber zu gewinnen kann man sich die Hilfe dessen anzeigen lassen:

speedtest-cli --help

Prozess unter Linux beenden

Ich habe einen Prozess auf einem Linuxsystem am laufen der sich weder mittels

kill 4711

noch durch

kill -sigterm 4711

beenden lässt. Der Befehl kill lässt sich zwar fehlerfrei und ohne konkrete Rückmeldung ausführen, jedoch läuft der beanstandete Prozess weiterhin. Mittels folgender Eingabe kann man den Fehlercode der vorherigen Befehlszeile abfragen:

echo $?

Diese wird einem dann einen Wert ungleich 0 präsentieren und somit die fehlerhafte Ausführung dessen bestätigen.

Um in einem solchen Fall einen hartnäckigen Prozess trotzdem zu beenden kann man folgenden Befehl verwenden:

kill -sigkill 4711

Oder dies kann auch mit einem kürzeren Command abgesendet werden:

kill -9 4711

Dieser Command tötet den Prozess auf der untersten Systemebene und sollte nur mit Vorsicht vorgenommen werden. Ein Datenverlust ist hierbei möglich.

Putty reagiert nicht mehr auf Tastatur-Eingaben

Das Putty-Fenster ist vermeintlich eingefroren und reagiert auf keinerlei TastaturEingaben? Bisher hast Du Dir nur damit helfen können die Verbindung zu beenden und erneut herzustellen?

Das Problem ist relativ schnell erklärt und behoben.

Gerade Entwickler die auf einer grafischen Oberfläche – restriktive Windows – unterwegs sind haben sich einen ganz bestimmten Reflex angewöhnt: Beim Bearbeiten von Textdateien regelmäßig STRG+S zu tätigen um Änderungen an selbigen in einem beliebigen Editor zu speichern.

Diese Handlung führt allerdings auf einer Putty-Konsole zu einer bestimmten Aktion, nämlich dass die Konsole in den XOFF-Modus versetzt wird. Dies bedeutet, dass keine weiteren Ausgaben mehr angezeigt werden und – auch nicht die vom Bediener selbst getätigten. So hat man vermeintlich das Gefühl Putty sei eingefroren oder der Server reagiere nicht mehr. Dies aber ist nicht der Fall.

Wie konnte das nur passieren?

Entweder war der Fokus ungewollt im Putty als man diese Aktion in einem anderen Programm absetzen wollte oder man hat fälschlicherweise im vi oder vim STRG+S gedrückt um Änderungen an einer Datei zu speichern. Dies hat sodann diesen Modus aktiviert.

Lösung

Um den XOFF Modus zu deaktiveren drückt man einfach die Tastenkombination STRG+Q.

Möchte man dies dauerhaft lösen so kann man diesen Modus pauschal deaktivieren. Ich selber habe dies nicht getan, wer aber danach auf der Suche ist kann hierfür folgende beiden Zeilen in die .bashrc eintragen:

stty ixany
stty ixoff -ixon

Free PHP, HTML, CSS, JavaScript editor (IDE) – Codelobster PHP Edition

For valuable work on creation of sites you need a good comfortable editor necessarily. There are many requiring paid products for this purpose, but we would like to select free of charge very functional and at the same time of simple in the use editor – Codelobster PHP Edition .
 

Free PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

Let us consider some important possibilities and advantages of this program:

 

  • All code highlights depending on a type, the also mixed code is thus supported, so the area of HTML will be highlighted as HTML, PHP as PHP, and Javascript as Javascript in a the same file. Thre is possibility of choice from color schemes, including popular IDEs.
  • Powerful autocompletion for HTML, PHP, CSS and Javascript, including HTML5 and CSS3. For PHP the structure of project is fully recognized, and the complete list of methods falls out in the proper places.
  • HTML/CSS inspector on the type of Firebug, which allows easily to correlate the selected elements of page with a code and proper style.
  • Context help on all supported languages. By pressing F1 key the page with detailed description for current tag, attribute or function will be opened.
  • PHP debugger. PHP debugger allows to execute PHP scripts incrementally, watching the values of all variables in every line.
  • SQL manager allows to produce all necessary actions with a database – to add, delete, edit a structure and records in tables, to export data, execute SQL queries. Highlighting and autocompletion works for SQL files also.
  • Support of FTP allows to work straight with a remote server and to do all necessary changes with files;
  • The portable option allows to use editor without the preliminary installation.
  • Other useful utilities: pair highlighting, possibility of blocks selection, collapsing, tooltips, navigation on descriptions of functions and included files at withholding of the key of CTRL, viewing of structure of files and project, preview in a browser, book-marks, and all other standard possibilities for work with a code.

Also there are special plugins for work with:

 

  • CMS: Drupal, Joomla, Magento
  • PHP frameworks: CakePHP, CodeIgniter, Symfony, Yii, Laravel
  • JavaScript: JQuery, Node.js, AngularJS, BackboneJS, MeteorJS
  • WordPress blogging engine
  • Smarty and Twig template engines
Developer Codelobster Software
Web Site http://www.codelobster.com/
Language English, Russian, German, Spanish, French, Portuguese

Download link:

Free PHP, HTML, CSS, JavaScript editor (IDE) – Codelobster PHP Edition

svchost.exe verursacht hohe CPU-Auslastung unter Windows 7

Eine ganze CPU ist ausgelastet – es findet keine Aktivität im Speicher statt und auch keine Festplattenzugriffe. Es sind mehr als ein GB reserviert, jedoch finden viel Netzwerktraffic und I/Os auf dem Prozess svchost.exe statt der eine nahezu 100%-ige CPU-Auslastung auf einem gesamten Kern verursacht. Das alles gibt mir der Taskmanager an Informationen heraus, aber auf den erten Blick hatte ich den Zusammenhang noch nicht durchdrungen.

Im Taskmanager ist davon der Prozess mit folgender Befehlszeile betroffen:

C:\Windows\system32\svchost.exe -k netsvcs

Mein Problem hierbei ist, dass die Windows Updates gelgentlich auch als fehlgeschlagen markiert werden. Dies wirkt als sei dies ein generelles Problem bei einem Windows 7 mit Service Pack 1 zu sein, da ich diese Beobachtung wiederholt auf unterschiedlichen Systemen hatte.

Das Problem

Die Ursache für dieses Problem liegt an mehreren Punkten begründet:

  1. Windows 7 SP1 benötigt inzwischen sehr viele Updates. Ohne SP1 sind es sogar noch viel mehr.
  2. Schwache CPU
  3. langsame Internetverbindung

Wer heute im Jahr 2017 noch ein Windows 7 komplett neu installiert hat inzwischen mit mehr als 220 Updates zu rechnen. Und diese Zahl steigt mit jedem Monat weiter an. Diese Menge ist für einen “normalen” Rechner schon eine ernormes Stück Arbeit an Aktualisierungsarbeit des Betriebssystems.

Die Lösung

Für die Lösung benötigt man viel Zeit, eine gute Internetleitung und ausreichend Geduld. Die Updates liegen bei einigen Giga-Bytes und dauern mit den vielen Neustarts sowie den unzähligen Aktualisierungsoperationen dazwischen locker einen Tag. Um die Sache auf die minimalste Dauer zu begrenzen sollte man regelmäßig den Rechner beobachten und vom System verlangte Neustarts durchführen.

Auch hilft es zum einen sich für die Dauer der Einrichtung einen Adminaccount ohne Passwort anzulegen und der automatisch eingeloggt wird und des weiteren eine Verknüpfung zu Windows Update auf den Desktop zu legen. Diese kann dann nach jedem Neustart immer wieder direkt ausgeführt werden um dann in dem geöffneten Fenster auf “Nach Updates suchen” zu klicken.

Installierte Grafikkarte unter Windows ermitteln

Um Details zur installierten Grafikkarte zu ermitteln, startet man unter Windows mit WINDOWS-Taste+R eine neue Konsole und den Befehl dxdiag eingibt. Es öffnet sich sodann ein Dialogfenster mit Informationen zu den DirectX Einstellungen des lokalen Computers.

Dort kann man im zweiten Reiter “Anzeige” Details zur verbauten Grafikkarte einsehen. Es werden dort Informationen zum verbauten Chip, Speichergröße, sowie Speichergröße, Auflösung und Frequenz angegeben.

Spam Ordner in Thunderbird automatisch synchronisieren

Ich befinde mich in Thunderbird bei meinem E-Mail Posteingang immer im Hauptordner des Posteingangs. Dies ist auch der Ordner welcher automatisch synchronisiert wird. Allerdings werden neu erhaltene Emails im Spam-Ordner nicht fett markiert und deren Anzahl dargestellt. Erst beim Klick auf den Ordner “Spam” erscheint in der Ordnerhierachie die Anzahl der enthaltenen, ungelesenen Mails.

Amazon Echo Dot 2. Generation
Amazon Echo

Lösung

Den Spam Ordner mit der rechten Maustaste anklicken und im Untermenü “Eigenschaften” auswählen. Dort dann im Reiter “Allgemein” die Option “Diesen Ordner auf neue Nachrichten überprüfen, wenn Nachrichten für dieses Konto empfangen werden” aktivieren und mit “OK” diese Einstellung speichern.

Ab sofort werden neu eingehende Nachrichten in diesem Ordner synchronisiert und bei Nachrichteneingang entsprechend angezeigt.

Umlaute in HeidiSQL werden falsch angzeigt

Bei der Arbeit mit HeidiSQL habe ich das Problem, dass Umlaute je nach Datenbank falsch angezeigt werden und nicht lesbar sind. Diese werden von HeidiSQL standardmäßig in UTF-8 kodiert angenommen. Allerdings ist die Default-Charset meiner Datenbank mit einer anderen Kodierung vorgesehen, nämlich in latin-1.

In den Einstellungen von HeidiSQL kann man jedoch keine passende Option dazu finden diese Collation zu ändern. Und das weder in den globalen, noch in den verbindungspezifischen Einstellungen.

Eine Ausgabe in den Ergebnisdaten mit Umlauten sieht dann möglicherweise wie folgt aus:

select lastname from users where id = 1;

> Schröder

Lösung

Nachdem folgende SQL Abfrage abgesetzt wurde werden die Umlaute aller künftigen SQL-Abtragen innerhalb der aktuellen Verbindung  korrekt dargestellt.

SET NAMES 'latin1';

Nachdem diese Query abgesetzt wurde, werden die Umlaute korrekt dargestellt. So sieht die ursprünglich falsche Antwort nun korrekt aus:

select lastname from users where id = 1;
> Schröder

Weiterführende Literatur