dbase (.dbf) Modul in PHP: www.geoworld.de - Das Informationsportal für Geographische Information im Internet
Impressum Adressen Veranstaltungen Neuerscheinungen Zeitschriften Suche Newsletter Sitemap
© Nicol Hermann, 1999-2014
-> dbase (.dbf) Modul in PHP

Viele Geodaten werden als Shape-Dateien ausgeliefert.
Teil eines Shape-Files ist eine dbase Datei (*.dbf) in der die Attribut-Dateien gespeichert werden.

PHP bietet zum Lesen und Schreiben einer dbase Dase Datei eine Reihe von Methoden an.
Beschrieben werden diese nützlichen und für die Geodaten-Verarbeitung überaus hilfreichen Funktionen unter http://php.net/manual/de/intro.dbase.php

Leider ist die PHP Extension seit Version PHP 5.3.0 nicht länger Bestandteil der Kern-PHP-Distribution
Diese Erweiterung wurde ins PECL (PHP Extension Community Library) Repositorium (http://pecl.php.net/) verschoben.

Die folgende Anleitung beschreibt für Debian basierte Systeme wie die dbase Extension aus dem PECL Repository wieder in die PHP Umgebung einkompiliert weren kann. Vorraussetzung sind Administrations-Rechte (root bzw. sudo) auf den Server.
Hierfür kommen eine Reihe von Programmen aus Debian Paketen zum Einsatz die nicht notwendiger Weise zum Standard-Umfang der Distribution gehören.
Die verwendeten Programme und die dafür notwendigen Pakete sind in die einzelnen Schritten beschrieben. Sind einzelne Pakete nicht installiert können diese mit root-Rechten (sudo) nach installiert werden.

      apt-get install <paketname>
      

1) Download und Installation der dbase Extension aus dem PECL Repository
Der schnellste Weg um das DBase Module herunter zu laden, aus den Quellen zu bauen und zu installieren geht mit folgendem Befehl:

      sudo pecl install dbase
      

Das neu übersetzte Modul befindet sich dann im Verzeichnis:

      /usr/lib/php5/[datum]/dbase.so
      

2) Aktivierung des Modules in der php.ini
Um das neue Modul auch nutzen zu können ist es im abschliessenden Schritt noch notwendig es in der php.ini zu aktivieren. Die php.ini befindet sich je nach Nutzungsart im Verzeichnis 'apache2' (Apache Modul), 'cgi' oder 'cli' unterhalb des Verzeichnisses: /etc/php5/. Die Akticierung erfolgt mit dem Eintrag:

      extension=dbase.so
      

Wird PHP als Apache Modul verwendet ist zusätzlich noch der Neustart des Webservers mit.
sudo /etc/init.d/apache2 restart
notwendig.

Sollte die oben beschriebene komfortable Lösung nicht möglich sein, kann mit folgenden Einzelschritten das dbase Modul von Hand aktiviert werden.

1) Download der dbase Extension aus dem PECL Repository
Die Daten werden direkt aus dem Subversion Repository angefordert.
Der verwendete Subversion-Client kann von folgender Adresse bezogen werden: http://packages.debian.org/squeeze/subversion
In einem beliebigen Verzeichnis (z.B. /tmp/dbase) den folgenden Befehl ausführen:

      svn co http://svn.php.net/repository/pecl/dbase/trunk pecl/dbase
      

Der oben genannte Befehl erstellt die Unterverzeichnisse
pecl/dbase (/tmp/dbase/pecl/dbase)
und legt darin die ausgecheckten Quell-Dateien ab.

2) Bauen des PEAR Paketes
Im Verzeichnis der Quell Daten kann das Paket mit folgendem Befehl gebaut werden:

      pear package package.xml
      

Verwendet wird das Programm 'pear' (PHP Extension and Application Repository) aus dem Debian Paket 'php-pear' (http://packages.debian.org/squeeze/php-pear).
Das Kommando 'package' gibt die Bau-Anweisung.
Die Datei 'package.xml' ist Teil der ausgecheckten Quell-Daten.
Hierbei handelt es sich um das sogenannte 'package definition file'.
Diese XML Datei beinhaltet alle Informationen über ein PEAR package.
Information über die Struktur der Datei finden sich z.B. hier
http://www.developertutorials.com/pear-manual/guide.developers.package2.html

Ergebniss dieses Befehls ist derzeit (10/2009) eine Datei 'dbase-5.0rc1.tgz'. Die Benamung der Datei greift auf die (Versions)-Angaben in der 'package.xml' Datei zurück.

3) Erzeugung eines Debian Source Paketes
Die erzeugte Datei 'dbase-5.0rc1.tgz' wird als Eingangs-Datei für die Erzeugung eines Debian Source Paketes aus einem PEAR modul verwendet.

Hierfür kommt das Programm 'dh-make-pear' as dem Paket 'dh-make-php' (http://packages.debian.org/squeeze/dh-make-php) zum Einsatz.
Angeführt wird der Befehl:

      dh-make-pear dbase-5.0rc1.tgz
      

Das neu Source package wird im Verzeichnis 'php-dbase-5.0rc1/' erzeugt (/tmp/dbase/pecl/dbase/php-dbase-5.0rc1).
Bestandteil ist auch das für Debian Pakete typische Unterverzeichnis 'debian' u.a. mit Angaben zum Copyright und Abhängigkeits-(Regeln).

cd php-dbase-5.0rc1/

wechselt in dieses Verzeichnis.

4) Erzeugung und Installation eines Debian binär Paketes
Im abschliessenden Schritt wird aus dem Debian Source Paket ein Debian (binär) Paket erzeugt und installiert. Verwendet wird hierzu das Programm 'debuild' aus dem Paket 'devscripts' (http://packages.debian.org/squeeze/devscripts).
Ausgeführt wird der Befehl

      debuild -us -uc
      

Intern verwendet die debuild das Programm 'dpkg-buildpackage' (http://packages.debian.org/squeeze/dpkg-dev). Die verwendeten Optionen '-us' und '-uc' (Quellpaket und .changes-Datei werden nicht signieren.) können dort nachgeschlagen werden (man dpkg-buildpackage).

Ergebnis ist das Debian Paket 'php-dbase_5.0rc1-1_all.deb' das in diesem Beispiel im Verzeichnis:
/tmp/dbase/pecl/dbase
abgelegt ist.

Diese Datei kann mit Root-Rechten installiert (-i) werden. Das Programm 'dpkg' (http://packages.debian.org/squeeze/dpkg) gehört zum Debian-Paketverwaltungssystem.

      dpkg -i php-dbase_5.0rc1-1_all.deb
      

5) Aktivierung den neu erzeugten dbase Moduls (dbase.so) in PHP
Die Installation aus dem vorangegangen Schritt kopiert das Module 'dbase.so' ins Modul-Verzeichnis der PHP Installation.
Einzelheiten zu den Inhalten des erzeugten Paketes und dem Speicherort des Modules lassen sind mit

dpkg --contents php-dbase_5.0rc1-1_all.deb

ermitteln.

...
-rw-r--r-- root/root 27788 2009-10-25 08:04 ./usr/lib/php5/20060613+lfs/dbase.so
...

Um die Funktionen des Modules in PHP nutzen zu können, müssen diese mit einem Konfigurations-Eintrag im Verzeichnis

/etc/php5/cgi/conf.d

eingebunden/aktiviert werden.
Für jedes aktivierte Modul existiert in diesem Verzeichnis eine entsprechende Datei.
Für das neu erzeugte dbase Module wird die Datei 'dbase.ini' mit folgendem Inhalt angelegt:

      # configuration for php dbase module
      extension=dbase.so
      

Abhängig davon, ob PHP als Modul oder CGI eingerichtet ist, stehen die Dbase Funktionen nun nach einem Restart des Apache Webservers oder direkt zur Verfügung

Letzte Änderung:
von dbase-in-php.html am 11/08/2014
© E-Mail: webmaster@geoworld.de

Newsticker - Letze Meldung

Geographie im Internet - Computereinsatz im Erdkundeunterricht - Praxishandbuch - Rezensionen - Geo-Links
Aktuelles, Neuerscheinungen, Zeitschriften, Veranstaltungen, Adressen, Newsletter, Suche
- © Nicol Hermann, 1999-2015 -