Page 1 of 1

segfaults mit php5 und pgsql

Posted: 2007-06-30 17:35
by r00ty
Hallo!
Ich habe hier ein Debian Etch laufen, mit php.
Da ich (leider) die aktuelleste Version von postgresql brauche habe ich diese aufgespielt, doch habe ich jetzt Probleme mit php auf die Datenbank zuzugreifen.

Code: Select all

# php test.php
Segmentation fault
test.php

Code: Select all

<?PHP
pg_connect ("host=localhost port=5432 dbname=upandaway user=tobi password=mypw");
?>
/var/log/messages

Code: Select all

Jun 30 17:25:52 server1 kernel: php[15356]: segfault at 00002b4e12b9d9a0 rip 00002b4e12b9d9a0 rsp 00007fff9dc11428 error 14
Die Seite bzw. die Datenbankverbindung funktioniert einwandfrei - doch ist das so keine Lösung.
Wie kann ich es denn am besten verhinden, dass dieser Fehler kommt? Vermutlich muss ich das Modul neu kompilieren, oder?

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 17:43
by dtdesign
Segmentation fault -> Dein PHP ist falsch compiliert, du musst neu compilieren, PHP ist gegen falsche Bibliotheken gelinkt

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 18:02
by r00ty
okay...
dazu will ich gerne das gleiche Paket nehmen wie bei Etch dabei ist.
Leider kenn ich mich mit Debian noch nicht so aus.
Bei SuSE hätte ich mit Yast das src-package von php5 installiert und ich hätte es kompilieren können.
Unter aptitude finde ich aber so ein Paket nicht (php5-dev habe ich installiert - das scheint aber was anderes zu sein, oder ?)
meine sources.list:

Code: Select all

deb http://ftp.de.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.de.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
deb http://update.onlinehome-server.info/debian/ etch main contrib non-free
deb-src http://update.onlinehome-server.info/debian/ etch main contrib non-free

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 18:08
by dtdesign
Wieso selbst kompilieren? apt-get install php5-cgi oder halt was du brauchst.

Hint: apt-cache search php5

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 18:23
by r00ty
hmm, also oben haben wir doch festgestellt dass ich es neu kompilieren muss...

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 18:46
by dtdesign
r00ty wrote:hmm, also oben haben wir doch festgestellt dass ich es neu kompilieren muss...
Nein, da verstehst du mich falsch. Ich bin davon ausgegangen, dass du PHP selber compiliert hast. Wenn nicht dann einfach das PHP-Paket per apt-get remove <paket> deinstallieren und das passende wieder installieren :)

Gruß
dtdesign

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 22:48
by oxygen
Jein. So wie ich das verstehe hast du manuell (d.h. selbst kompiliert oder nicht debian eigenes Paket) die neuste Version von PostgreSQL installiert? Dann hast du wahrscheinlich die postgre libs von Debian überschrieben. Dann musst du entweder wieder die alten einspielen, oder PHP neu kompilieren.

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 23:03
by Joe User
oxygen wrote:Dann musst du entweder wieder die alten einspielen
Welche vermutlich nicht mit der neuen Postgres-Version kompatibel sind...

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 23:03
by dtdesign
oxygen wrote:Jein. So wie ich das verstehe hast du manuell (d.h. selbst kompiliert oder nicht debian eigenes Paket) die neuste Version von PostgreSQL installiert? Dann hast du wahrscheinlich die postgre libs von Debian überschrieben. Dann musst du entweder wieder die alten einspielen, oder PHP neu kompilieren.
PHP ist bei mir komplett powered by Super Cow Powers!

Re: segfaults mit php5 und pgsql

Posted: 2007-06-30 23:58
by r00ty
also ich habe die Postgres aus den Unstable von Debian installiert (das ist mein einziges Paket aus Unstable).
(deb ftp://ftp.de.debian.org/debian unstable main contrib non-free)
d.h. postgresql-8.2.4-1
Vermutlich wird es dann so sein, dass php5-pgsql eben nicht für die neuere Version gedacht ist - dieses müsste ich also neu kompilieren.

Somit werde ich mir jetzt wohl das source-package laden und das Modul neu kompilieren.

Das hier hat mir geholfen - wobei ich mich erst nächste Woche drum kümmern kann:
http://www.debian.org/doc/manuals/apt-h ... ng.en.html

Re: segfaults mit php5 und pgsql

Posted: 2007-07-01 00:04
by dtdesign
Bei Debian herrscht folgende Logik:

stable -> outdated
unstable -> unstable
testing -> broken

SCNR ;)

Jetzt verstehe ich auch deine Fehlermeldung, dein PHP ist nicht kompatibel mit der unstable PGSQL, da die Version gegen eine neuere Libary von PHP gelinkt ist, ergo musst du entweder komplett stable oder komplett unstable einsetzen (bzgl. PHP).

Gruß
dtdesign

Re: segfaults mit php5 und pgsql

Posted: 2007-07-01 00:36
by oxygen
vielleicht findest du auch irgendwo ein Backport von PostgreSQL für Etch. Das wäre die beste Lösung.

Re: segfaults mit php5 und pgsql

Posted: 2007-07-01 00:36
by r00ty
so, mittlerweile habe ich alles zusammen...
nur müsste ich noch wissen wie das ursprüngliche configure Statement aussieht mit dem das orgnial php5 etch Paket kompiliert wurde
wie finde ich das raus ?

Re: segfaults mit php5 und pgsql

Posted: 2007-07-01 00:40
by oxygen
Steht in <?php phpinfo(); ?> sollte aber auch irgendwo im Source Paket stehen.

Re: segfaults mit php5 und pgsql

Posted: 2007-07-30 14:09
by daseddy
Probiere mal, was passiert wenn Du in der php.ini curl.so vor pgsql.so lädst.

Link dazu: http://bugs.php.net/bug.php?id=40926

Re: segfaults mit php5 und pgsql

Posted: 2007-08-01 22:43
by r00ty
hmm also ich habs umgestellt - es hat funktioniert...
dann habe ich es zurückgestellt und es funktioniert immernoch...
ich blicks nicht - kein Plan was da los ist - aber wenigstens funtkioniert es :)

Re: segfaults mit php5 und pgsql

Posted: 2007-08-01 23:24
by daseddy
Ich sehe gerade ich habe mich verschrieben. In der Anleitung steht, es funktioniert wenn pgsql.so vor curl.so steht. Nicht wie unten/oben geschrieben "curl vor pgsql".