Ihr kennt das vielleicht, für Dein Projekt-Team wird eine neue Verteiler-Email-Adresse angelegt, einhergehend wird damit auch ein neues GnuPG-Schlüsselpaar erstellt.

Natürlich erfolgt, erfolgt die Kommunikation verschlüsselt via GNUPG, also bekommt ihr seperat den öffentlichen, den privaten Schlüssel und die Passphrase für den privaten Schlüssel, die Charakteristika eines guten Passworts ist erfüllt und zudem noch sehr gut gemeint lang.
Tippen und mühselig und kann einige Anläufen dauern, und Pinentry (QT4) kann leider kein Copy 'n' Paste...so geht es trotzdem ohne abtippen.

Oft hat man es mit selbstsignierten SSL-Zerifikaten, also nicht von einem sog. Trusted Issuer beglaubigten SSL-Zertifikaten zu tun, das und/oder Hostname und Common-Name im Zertifikat stimmen nicht überein und/oder der Cert ist abgelaufen.

Egal auf welchen Fall man trifft, wget und curl quittieren den Dienst mit einem Exit-Status != 0

--2015-03-01 12:20:08--  https://redmine.ociotec.com/attachments/download/302/scrum%20v0.9.1.tar....
Auflösen des Hostnamen »redmine.ociotec.com (redmine.ociotec.com)«... 178.33.112.73
Verbindungsaufbau zu redmine.ociotec.com (redmine.ociotec.com)|178.33.112.73|:443... verbunden.
FEHLER: Dem Zertifikat von »redmine.ociotec.com« wird nicht vertraut.
FEHLER: Das Zertifikat von »redmine.ociotec.com« ist abgelaufen.
Das ausgestellte Zertifikat ist nicht mehr gültig.
Der Zertifikat-Eigentümer paßt nicht zum Hostname »»redmine.ociotec.com««.

PHUnit und PEAR

Während der Installation von der benötigten Pakate für das PHING-Drupal-Template1, einer XML-Build-Datei für ein Phing-Build-System für Drupal-Projekte als zentraler Bestandteil eines PHING-Drupal-Jobs2 für den Continous Integration3 Server Jenkins4 lief ich in einer längere Fehlersuche. Zwei Pakete die durch pear.phpunit.de bereitgestellt werden, phpcpd5, ein PHP Copy n Paste Detector und phploc6, ein Tool für Code-Metriken sollen laut den Anforderungen7 via PEAR installiert werden.

pear channel-discover pear.phpunit.de

Aber schon die sog. "Channel discovery", vergleichbar mit einem apt-get update nach einer Erweiterung der Repositories schlägt fehl...

Error: No version number found in <channel> tag Discovering channel pear.phpunit.de over http:// failed with message: channel-add: invalid channel.xml file
Trying to discover channel pear.phpunit.de over https:// instead Error: No version number found in <channel> tag
Discovery of channel "pear.phpunit.de" failed (channel-add: invalid channel.xml file) </channel></channel>

Neues Projekt, Repo und Credentials bekommen, aber es hapert schon beim initialen Checkout des Projekts auf der Kommandozeile, das Argument der Option --username wird ignoriert, stattdessen wird meine Login-Name, also florian verwendet. (natürlich funktioniert das kommunizierte Passwort in der Kombination nicht :D)

florian@x1:~$ svn co svn+ssh://example.com/opt/repos/project --username latzel
florian@example.com's password:

Da es nicht mehr all zu lange dauert bis Debian 8 erscheint, bzw. bis Jessie den Status stable erreicht, haben wir bereits jetzt einige(in progress...) Drupal-Installationen auf eine Debian-Jessie-KVM migriert.

Von Debian 7 zu 8 hat sich nicht nur das Major-Release-Nummer von Debian erhöht, sondern auch der Webserver Apache hat einen Sprung gemacht, von Apache Version 2.2 auf 2.4.

Das bringt einige Implikationen mit sich...

Zur Dokumentation von Klassenvariablen, auch Properties1 oder Member genannt
wird in Doxygen2(u.a.) und PHPDoc3 (phpDocumentor 2) das Tag @var verwendet 4 5.

In PHPDoc wird die folgende Notation verwendet, diese wird so auch in Drupals Coding-Standards beschrieben6:

 
/**
 * Passed command line options
 * @var string
 */

protected $commandLineOptions;

...welche in Doxygen leider weder mit Typ noch mit dem zusätzlichen Kommentar angezeigt wird.

PHP Member Data Documenation within Doxygen, PHPDoc Notation

Ja, Drush auch kann Autocompletition, zu deutsch "Autovervollständigung"
und das anscheinenend nicht erst seit gestern, obwohl erst gestern entdeckt...

Tab-Vervollständigung

Ganz genau genommen, spricht man in diesem Fall der Autovervollständigung von einer Befehlszeilenergänzung bzw. Tab-Vervollständigung.
Es besteht auch im Drush-Kontext die Möglichkeit Drush-Befehle, globale Drush-Optionen und den spezifischen Optionen zu einem Drush-Befehlen
durch "tabben" (dem ein- oder zweimaligen Drücken der Tabulator Taste) in der Shell zu vervollständigen.

Beispiele

Tab-Vervollständigung von globalen Drush-Optionen:

florian@box:/var/www/example.com/drupal$ drush @git --<tab><tab>
--alias-path           --backend  
--backup-location      --cache-class-<bin>
--cache-default-class  --choice
--command-specific     --complete-debug
--config               --confirm-rollback
[...]

Tab-Vervollständigung von Drush-Befehlen, die mit sql- beginnen:

florian@box:/var/www/example.com/drupal$ drush @git sql-<tab><tab>
sql-cli   sql-conf   sql-connect    sql-create sql-drop
sql-dump  sql-query  sql-sanitize   sql-sync

Vervollständigung der Optionen, die mit dem Befehl sql-dump nutzbar sind:

florian@box:/var/www/example.com/drupal$ drush @git sql-dump --<tab><tab>
--create-db    --data-only   --gzip    --result-file   --structure-tables-key  
--tables-list   --database   --db-url  --ordered-dump  --skip-tables-key        
--tables-key

Um Geocaches von geocaching.com via Schaltfläche Aufs GPS-Gerät übertragen mit Garmin-Geräten nutzen zu können, ist das Garmin Communicator-Plug-In nötig,
welches von Garmin leider nur für Windows und Mac angeboten wird.

Dank Andreas Diesner gibt es das Plugin auch für Linux!

Den Fallstrick und die Suche möchte ich euch ersparen...

db_like is the way to go

$result = db_query(
  'SELECT * FROM person WHERE name LIKE :pattern',
  array(':pattern' => db_like($prefix) . '%')
);