Zugewiesene PHP Variablen mit Smarty parsen

Wer in PHP mit Smarty arbeitet, die oft als Template-Engine bezeichnet wird, der wird eventuell auch schon einmal in dieser Situation gewesen sein. Man möchte eine an Smarty zugewiesene Variable parsen, denn dort befinden sich Smarty-Variablen. Dies ist zum Beispiel der Fall, wenn ich Texte direkt aus der Datenbank ziehe.

Ein einfaches Beispiel:

Unser Template:

Die Ausgabe: Willkommen auf {$SITE_TITLE}.

Damit wir nun unser gewünschtes Ergebnis bekommen verwenden wir die eval Funktion (bitte mit Bedacht verwenden!). Unser Template bekommt eine kleine Änderung und sieht dann wie folgt aus:

Die Ausgabe: Willkommen auf SmattyCore.de

WordPress (Plugins, Themes, etc.) ohne FTP Account aktualisieren

Wer wie ich zum Beispiel WordPress zum Testen in einer VM betreibt und keinen FTP-Zugang hat oder einrichten möchte kann sich mit einem einfachen Trick behelfen.

Ihr müsst folgenden Code (siehe unten) in eure wp-settings.php einfügen und WordPress kann dann Aktualisierungen ohne FTP-Account durchführen und fragt euch auch nicht mehr nach Zugangsdaten:

 

Stronghold / Crusader / Extreme / HD startet auf Windows 10 nicht

Wer auch Probleme beim Starten von den alten Stronghold-Spielen unter Windows 8, Windows 8.1 oder Windows 10 hat, darunter:

  • Stronghold und Stronghold HD
  • Stronghold Crusader und Stronghold Crusader HD
  • Stronghold Extreme und Stronghold Crusader Extreme HD

der muss zuerst einmal Direct Play, mittlerweile ein „Legacy-Feature“ aktivieren. Dazu suchen wir nach „Windows Features“ und öffnen das Fenster zum Aktivieren oder Deaktivieren von Windows-Features.

Im Anschluss müssen wir nur noch das DirectPlay, welches unter Legacykomponenten (Legacy Features in der englischen Version) zu finden ist, aktivieren.

Nach der erfolgreichen Aktivierung einfach nochmals das Stronghold Spiel starten und nun sollte es funktionieren.

Die alten Stronghold-Spiele verwendeten für die Multiplayer-Funktionalitäten das früher von Microsoft bekannte DirectPlay (aus Zeiten von Windows 2000 und XP). Heutzutage kann man GameRanger für Multiplayer-Spiele verwenden, DirectPlay muss trotzdem nach wie vor aktiviert sein um das Spiel starten zu können.

WLAN Signal verstärken

Dies ist ein Artikel vom Gast-Autor Merlin Moore von 10Tails.net. Hiermit möchte ich mich noch einmal herzlich bei Dir dafür bedanken!


Mit Smartphones, Tablets und modernen Laptops, die mittlerweile meistens keinen Ethernet Port besitzen ist man heutzutage auf kabelloses Internet angewiesen. Umso ärgerlicher ist es, wenn das WLAN Signal im eigenen Haus instabil ist und nicht besonders weit reicht. Die Gründe für ein schwaches WLAN Signal sind zahlreich und reichen von tatsächlichen technischen Schwächen zu sehr simplen Grundeinstellungen, die gerne missachtet werden. In den meisten Fällen können Sie es sich sparen einen Techniker zur Hilfe zu rufen, denn aus meiner Zeit im Systemsupport kann ich berichten, dass sich eine erschreckend hohe Anzahl an Problemen mit der Signal Reichweite beheben lässt, indem man den Router richtig positioniert und die Antennen ausrichtet.

Natürlich kann den Problemen mit Ihrem Netzwerk eine wirkliche technische Ursache zu Grunde liegen. Zwei der Indikationen hierfür die mir am häufigsten begegnet sind wären z.B.:

  1. Eine aktive WLAN Verbindung, jedoch kein Datenverkehr. Zur Diagnose empfiehlt sich hier eine Software zum Sniffen des Datenverkehrs, wie z.B. das kostenlose Wireshark.
  2. Ein abrupter Abbruch der Verbindung in regelmäßigen Zeitabständen. Um dem Problem auf den Grund zu gehen, wird hier empfohlen die Zeitabstände der Abbrüche zu Messen und zu dokumentieren, ob diese Abbrüche ein Auftretensmuster zeigen. Viele Router besitzen in Ihrem Dashboard einen Traffic Monitor, der Aufschluss über diese Daten geben kann.

Wenn Sie unzufrieden sind mit der Reichweite Ihres WLAN Signals kann ein Blick auf die folgende Infografik – 10 einfache, wie hilfreiche Tipps für ein besseres WLAN Signal – die Lösung für Ihr Problem sein.

Quelle: 10Tails.net
Link: https://10tails.net/wlan-signal- empfang-verstaerken/

Speicherplatz unter Windows freigeben

Im Laufe der Zeit sammelt Windows einiges an Megabyte oder sogar Gigabyte an Daten an. Dies passiert durch das Herunterladen von Updates, Treiberpaketen, Log- und Fehlerberichtdateien, Schattenkopien, etc. Aber es gibt Abhilfe und die ist relativ einfach. Ich veranschauliche das in einer Schritt-für-Schritt Bildanleitung unter einem Windows 10 Betriebssystem:

Schritt 1

„Speicherplatz“ eingeben reicht aus um die Auswahl „Speicherplatz durch Löschen nicht erforderlicher Dateien freigeben“ aus der Systemsteuerung aufzulisten.

Schritt 2

Das Laufwerk auswählen auf dem das Betriebssystem installiert ist, in der Regel sollte die Vorauswahl stimmen und das Laufwerk C sein.

Schritt 3

Man bekommt nun diese Auswahl. Diese Auswahl listet jedoch nicht alle löschende Dateien auf. Damit uns die Datenträgerbereinigung wirklich alles auflistet müssen wir zuerst den Knopf „Systemdateien bereinigen“ anklicken.

Schritt 4

Hat man den Button gedrückt, wird man erneut nach dem Laufwerk gefragt, da das Tool quasi nochmal von vorne ausgeführt wird. Wir wählen also wieder unser Laufwerk aus.

Ist dies bestätigt werden erneut alle Daten gesucht, dies kann je nach Menge der vorhandenen Daten eine Menge dauern.

Schritt 5

Nun haben wir die gesamten Daten die vom Betriebssystem nicht mehr benötigt werden und gelöscht werden können.

Hier sollten die gewünschten oder alle Haken gesetzt sein. Bevor wir hier allerdings mit OK bestätigen wählen wir oben den Tabreiter „Weitere Optionen“ aus.

Schritt 6

Wir bekommen diese Auswahl und müssen unter „Systemwiederherstellung und Schattenkopien“ auf den Knopf „Bereinigen…“ drücken um alle Schattenkopien zu entfernen. Diese können je nach Konfiguration eine zweistelligen Gigabyte Anzahl an Speicherplatz belegen.

Man bekommt keine weitere Rückmeldung von der Datenträgerbereinigung, das Löschen beginnt sofort und im Hintergrund. Lediglich eine Info-Meldung könnte auftauchen, jedoch keine Erfolgs- oder Fehlermeldung des Löschvorgangs.

Schritt 7

Der letzte Schritt ist wieder zurückzugehen auf den Tabreiter „Datenträgerbereinigung“ und dann mit „OK“ zu bestätigen. Der Löschvorgang beginnt und der Speicherplatz wird freigegeben, indem die angehakten Elemente gelöscht werden.

Hinweis:

Speicherplatz über die Datenträgerbereinigung freizugeben kann und sollte des Öfteren durchgeführt werden. Je nach Verhalten des Betriebssystems und des Nutzers fallen mehr oder weniger schnell viel „Müll“ an. Einmal im Monat oder nach einem Windows 10 Upgrade reicht dies aber vollkommen aus.

(Geschützte) Partition lässt sich nicht löschen – Windows/diskpart

Nun ist es mal wieder passiert: Ich hab für eine zweite Windows 10-Installation mal eine ältere 2,5″ 500GB HDD eingebaut und musste erst einmal alle Partitionen entfernen. Die Datenträgerverwaltung zeigte mir neben der Daten-Partition noch vier weitere an: Zwei System reservierte und zwei Wiederherstellungspartitionen.

Was hilft denn bei solchen Problemen? Klar, diskpart.

  1. Windows-Taste + X
  2. Eingabeaufforderung (Administrator)
  3. diskpart eingeben und mit Enter den Befehl absetzen

Nun gibt es ein paar Befehle zum Bedienen von diskpart:

  • list disk
    Listet alle verfügbaren HDDs, SSDs, etc. auf
  • select disk 0
    Selektiert „Disk“ mit der ID 0 (0 ggf. durch entsprechende Zahl ersetzen)
  • list partition
    Listet alle Partitionen der vorher ausgewählten „Disk“ 0
  • select partition 0
    Selektiert die Partition mit der ID 0 (0 ggf. durch entsprechende Zahl ersetzen) der vorher ausgewählten „Disk“ 0
  • delete partition (ACHTUNG, UNUMKEHRBAR!)
    Löscht die vorher gewählte Partition

Für besonders hartnäckige Fälle, zum Beispiel wenn es sich um geschützte Partitionen wie im Bild unten handelt, kann man den override-Zusatz benutzen

  • delete partition override (ACHTUNG, UNUMKEHRBAR!)
    Löscht die vorher gewählte Partition

Wie man sieht klappt der override-Zusatz wunderbar und damit lässt sich dann auch nahezu jede Partition löschen, der Beweis:

Hoffentlich hilft es euch auch mal.

Linux (Ubuntu) Probleme bei Installationen – fehlende Abhängigkeiten

Heute ist mir beim Aufsetzen einer neuen Ubuntu-VM passiert, dass sich das Google Chrome .deb-Paket nicht installieren lies. Es öffnete sich zwar das Ubuntu Software-Center, beim Klick auf „Installieren“ passierte jedoch nichts. Die Anleitung funktioniert ebenso für jedes andere .deb-Paket, dieses Beispiel bezieht sich auf die Installation von Google Chrome.

Allerdings ist es auch möglich Debian-Pakete manuell über das Terminal zu installieren:

  1. Der Einfachheit halber in das Verzeichnis des .deb-Pakets wechseln, z.B.
  2. Folgenden Befehl müssen wir dann anschließend ausführen:

Dann konnte die Installation aber auf Grund fehlender Abhängigkeiten nicht installiert werden. Dies kann man wie folgt lösen:

Damit ließen sich dann die Abhängigkeiten und das Paket installieren und Google Chrome tauchte im Software-Center auf und konnte gestartet werden.

LEMP-Installationsskript

Hier findet ihr ein kleines Hilfeskript. Dieses muss unbedingt als root ausgeführt werden! Vorausgesetzt wird ein Linux mit installiertem apt-get. Mit diesem Skript wird zuerst das Betriebssystem aktualisiert und im Anschluss werden folgende Dinge installiert:

  • MariaDB Server und Client
  • nginx Webserver
  • PHP 7.0-FPM
  • PHP 7.0 MySQL Binds, welche die MySQL/MariaDB Funktionen zur Verbindung liefern
  • phpMyAdmin
  • openssh-server für den SCP Zugriff im Anschluss

Nach den Paketinstallationen muss man lediglich phpmyadmin konfigurieren. Hier ist es im Grunde nur wichtig, dass man den Benutzer und das Passwort angibt, sodass sich phpmyadmin mit der MySQL bzw. in diesem Fall MariaDB verbinden kann. Wer statt MariaDB lieber MySQL verwenden möchte muss lediglich die Pakete mariadb-server und mariadb-client ändern in mysql-server und mysql-client. Der Rest ist identisch.

Im Anschluss daran werden die php.ini und die www.conf automatisch angepasst und zum Schluss wird nginx für PHP und phpmyadmin konfiguriert. So ist es möglich, dass PHP-Skripte ausgeführt werden können und phpMyAdmin über die URL http://eure-ip-oder-hostname/phpmyadmin erreichbar wird.

Dieses Skript wurde am 10.01.2017 erstellt und am selben Tag mit einem Clean-Install von Ubuntu Server 16.10 getestet.

Installations-Skript

 

MySQL Remote Access einrichten

Damit man außerhalb auf eine MySQL-Datenbank zugreifen kann und das ohne phpMyAdmin kann man Software für Windows, Mac oder Linux verwenden. Jeder Datenbankhersteller bietet sein eigenes Tool an, so ist dies bei MySQL zum Beispiel über die MySQL Workbench möglich. Eine Drittanbietersoftware wäre Navicat in diversen Versionen für unterschiedliche Datenbank oder dem „Premium“, die alle unter einem Dach vereint. Navicat ist allerdings nicht kostenlos erhältlich.

Diese Anleitung bezieht sich auf eine MySQL-Datenbank auf einem Debian Linux.

Schritt 1: Privilege setzen

Die Privilegien setzen. Dazu müssen wir einen SQL-Befehl via Konsole oder phpMyAdmin absetzen. Dieser lautet:

Man sollte dies allerdings nicht auf dem root-User anwenden.

  • database.* bedeutet auf alle Tabellen in der Datenbank database. Ein *.* ist ebenfalls möglich.
  • user ist der Benutzer auf den diese Rechte angewendet werden.
  • % ist der Bereich, die Domain, IP. %.domain.com oder 192.168.0.% sind möglich, % bedeutet, egal woher.
  • newpassword ist das Passwort des Benutzers user.

Schritt 2: IP-Binding anpassen

Eine weitere Schutzmaßnahme kommt out-of-the-box daher. In der Datei /etc/mysql/my.cnf gibt es unter der Sektion [mysqld] den Eintrag:

Nun gibt es zwei Möglichkeiten:

  1. Diese Zeile auskommentieren mit einer # als erstes Zeichen, dass ermöglicht allen IP-Adressen den Zugriff von außerhalb.
  2. Einfach eine weitere IP-Adresse „binden“. Habt ihr keine statische IP in eurem Netzwerk ändert sich diese aber z.B. beim Neustart. Dafür kommt wirklich nur ihr auf die Datenbank.

Schritt 3: Neustart

Ggf. muss der mysql-Dienst neugestartet werden, dies passiert unter Linux mit dem Befehl:

Fertig!

phpMyAdmin Passwort vergessen, was nun?

Heute ist es passiert und so schnell kann es gehen. Nach ewig langer Zeit hab ich ein Image auf die microSD vom Raspberry Pi eingespielt und musste mich in die Datenbank einloggen. Doch auch wenn man über den Benutzer root meistens reinkommen sollte stellt sich die Frage nach dem Passwort. Es gibt aber eine Möglichkeit das Passwort herauszufinden. Dazu folgende Zeile im Terminal tätigen:

Wer noch ein paar andere Infos braucht, für den ist folgender Befehl sicherlich auch hilfreich:

Ich hoffe es hilft euch.