Entwicklung

Uberspace + PHP + PgSQL

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!

Da ich kürzlich auf einen PgSQL-Server umgestiegen bin, stand ich vor dem Problem, dass die laufende PHP-Version auf meinen Uberspace nicht mit der Option --with-pgsql kompiliert worden ist.

Dabei stehen die Funktionen, die nötig sind, um sich mit der Datenbank zu verbinden in PHP nicht zur Verfügung, was sich in dieser Fehlermeldung äußert:

Call to undefined function: pg_connect()

Da der Uberspace-Support aber auch das Unmögliche möglich machen kann, habe ich mich an hallo@uberspace.de gewannt. Jonas hat mir dann tatsächlich eine Anleitung dazu geben können, deren Umsetung ich an dieser Stelle beschreiben möchte.

Quellcode downloaden

Als Erstes muss man den Quellcode der Erweiterung downloaden. Da diese bereits in PHP enthalten ist, gibt es diesen im Github-Repository von PHP, welches man am besten gleich als zip-Datei herunterlädt.

Das kann man gleich auf dem Uberspace mittels wget erledigen.

Kompilieren

Als Nächstes entpackt man den Inhalt der Datei in ein beliebiges Verzeichnis auf dem Server.

Nach dem Wechsel in das Verzeichnis ext/pgsql führt man die folgenden Befehle nacheinander aus:

phpize
./configure
make

Nun sollte sich im Unterordner lib eine Datei namens pgsql.so befinden.

Installation

Ich habe diese Datei einfach in meinem Homeverzeichnis in den Ordner pecl verschoben und in der php.ini unter /etc Folgendes ergänzt:

extension=pgsql.so

Nach einem Neustart des PHP-Intepreters mittels

killall -u $USER php-cgi

sollte alles für die Benützung eingerichtet sein.

An dieser Stelle möchte ich nocheinmal darauf hinweisen, dass die Jungs von Uberspace einfach “awesome” sind!