19
Mar 13

Schneller Zugriff auf PHP-Programme

Es ist etwas umständlich, auf PHP-Programme immer mit einem vorangestelten php und dem vollständigen Pfad zur Datei zugreifen zu müssen. Um sich das Leben einfacher zu machen, kann man den langen Befehl in einer Bash-Datei wrappen. Diese wird in einem Verzeichnis für ausführbare Programme abgespeichert — und schon fungiert sie als Alias für die PHP-Datei.

Ein Beispiel: Ich möchte die Class Map Generator Utility benutzen. Anstatt jedes Mal

php /lib/ZendFramework/ZF2/bin/classmap_generator.php -w

einzutippen, erstelle ich unter /usr/bin/ eine kleine Bash-Datei mit einem beliebeigen Namen, z.B. “zf2cg”, und folgendem Inhalt:

#! /bin/bash
# echo $*
php /lib/ZendFramework/ZF2/bin/classmap_generator.php "$@"

Die Zeichenkette “$@” legt fest, dass alle an das Bash-Skript übergebenen Argumente an das Unterprogramm (in dem Fall also php) weitergegeben werden sollen. Mit dem hier auskommentierten echo $* können die Argumente ausgegeben werden.

Alles hier Beschriebene bezieht sich auf ein System mit folgenden Parametern:

$ lsb_release -a
No LSB modules are available.
Distributor ID:    Debian
Description:    Debian GNU/Linux 6.0.6 (squeeze)
Release:    6.0.6
Codename:    squeeze