Linux: Vorhandenes Skript bei der Ausführung nicht gefunden


Es kann vorkommen dass ein auf einem Windows-Rechner erstelltes und auf Linux übertragenes Skript nicht ausführbar ist, weil die Datei angeblich nicht gefunden werden kann. Bei der Ausführung mit

$ sudo ./myScript.bash

erscheint die Fehlermeldung

sudo: unable to execute ./myScript.bash: No such file or directory

Der Grund ist das falsche Zeilenendeformat (Dos\Windows). In den meisten Quellcode-Editoren wie Notepad++ oder Aptana Studio 3 kann die Zeilenendung für neue Dateien voreingestellt und bei vorhandenen Dateien konvertiert werden.

Aptana Studio 3 – Lokales Projekt mit dem Webserver synchronisieren


Aptana Studio 3 Logo

Bei der Webentwicklung mit Aptana Studio 3 ist es sinnvoll die erstellten Seiten und Anwendungen zu testen, bevor sie auf den Webserver hochgeladen werden. Ein beliebtes Werkzeug dafür ist der lokale Server XAMPP. Mit Apache, MySQL (MariaDB), FileZilla, Mercury und Tomcat liefert das Programmpaket die geeignete Testumgebung. Was aber lokal auf dem Entwicklungsrechner getestet wird, muss nicht unbedingt auf dem externen Webserver funktionieren. Da spielen die Server-Konfiguration oder die Zugriffsberechtigungen eine große Rolle. Aus diesen Gründen ist es vorteilhaft die Entwicklung in drei Schritte zu unterteilen:

  1. Ein Projekt lokal erstellen und in der XAMPP-Umgebung testen.
  2. Das Projekt auf den Entwicklungsserver übertragen und validieren.
  3. Das Projekt auf den Produktionsserver hochladen.

WordPress: Hook Infos auslesen


Bei der Entwicklung eigener Themen oder Plugins mit WordPress ist es nützlich zu wissen, welche Callback-Funktionen an welchen Hooks hinzugefügt wurden. Viel wichtiger ist aber deren Priorität und der Typ, Action oder Filter. Denn mit add_action() und add_filter() sind sie als solche noch gar nicht endgültig definiert wie man weiter untern sehen wird. Diese Funktionen sind sogar vertauschbar, ohne einen Fehler zu generieren. So kann schnell eine Verwirrung entstehen, wenn der Programmierer die falsche Funktion benutzt. Man würde zum Beispiel anhand des Aufrufs einen Filter erwarten, der keiner ist.

In WordPress 4.7.0 wurde für die Verwaltung der Action- und Filter-Callbacks die neue WP_Hook-Klasse eingeführt. Die globale Variable $wp_filter ist seit dem ein eindimensionaler Array der WP_Hook-Klassenobjekte. Sowohl die Action- als auch Filter-Callbacks werden in diesen Objekten gespeichert. Vor der WordPress Version 4.7.0 war $wp_filter ein mehrdimensionaler Array der die Performance ziemlich belastet hat.

Was aber wenn man herausfinden möchte ob ein Hook-Callback ein Filter oder eine Aktion ist? Oder mit welcher Priorität sie ausgeführt werden? Aktionen werden beim Hinzufügen genauso behandelt wie die Filter. Man könnte einen Filter mit add_action() hinzufügen wie auch umgekehrt eine Aktion mit add_filter() und es würde keine Rolle spielen. Sie landen alle gleicherweise in dem $wp_filter-Array. Ohne Rücksicht auf den Typ. Die add_action()-Funktion ist nur ein Alias für add_filter().

Überwachung der Internetverfügbarkeit


Einige Internetnutzer haben Probleme mit der Internetverbindung und würden gerne wissen wann die Verfügbarkeit nicht da war. Ist man unterwegs oder schläft nachts bekommt man es gar nicht mit. Es wäre also nützlich eine Log-Datei zu haben, in der man die Unterbrechungen einsehen kann. Oder noch besser per E-Mail darüber informiert werden.

WordPress: Bildbeschriftung formatieren und ausrichten


Klick LOGO image

 

Bilder lassen sich im WordPress leicht über den integrierten, visuellen Editor einfügen, positionieren und beschriften. Man kann die Beschriftung auch mit den HTML-Formatierungstags kursiv, fett oder kleiner darstellen lassen. Wie sieht es aber aus, wenn man die Farbe, Position, Größe usw. ändern möchte? Oder einen Hyperlink der Beschriftung und nicht dem Bild hinzufügen? Da muss man schon kreativ und „handgreiflich“ werden. Ob manuell oder mit einem selbstgeschriebenen Plugin, es ist einfacher als gedacht. Man muss nur den WordPress genauer unter die Lupe nehmen. Wie erstellt der Editor die Bilder samt Beschriftung und Formatierung in dem HTML-Code? Warum kann man nur die Position des ganzen Blockes ändern, nicht aber die der Beschriftung? Wie kann man auf die Elemente und deren Attribute zugreifen? Wie erstellt man eine eigene, formatierbare Beschriftung?