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:
1Call to undefined function: pg_connect()
Da der Uberspace-Support aber auch das Unmögliche möglich machen kann, habe ich mich an [email protected] 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:
1phpize
2./configure
3make
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:
1extension=pgsql.so
Nach einem Neustart des PHP-Intepreters mittels
1killall -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!