it-swarm.com.de

Aktivieren PHP Unterstützung für Postgresql in Ubuntu 11.04 Server

Ich habe Apache2 mit PHP5-Unterstützung installiert und alles funktioniert dort. Ich habe PostgreSQL installiert und kann über das Terminal eine Verbindung dazu herstellen und SQL-Anweisungen ausführen.

PROBLEM: Ich kann keine funktionierende Verbindung zwischen meinen PHP-Skripten und der PostgreSQL-Datenbank herstellen. Ich habe das aus den Repositorys gepackte php5-pgsql installiert, aber die Verbindung funktioniert einfach nicht.

Ich erhalte folgende Fehlermeldung:

PHP-Schwerwiegender Fehler: Aufruf der undefinierten Funktion pg_connect () in /var/www/[myfile(d.php in Zeile [X]

Wie aktiviere ich die Unterstützung für PostgreSQL-Verbindungen in PHP5 in Ubuntu 11.04?

BEARBEITEN: phpinfo () überprüft und keine Einträge für PostgreSQL gefunden. Ich weiß nicht, warum das so ist. Ich DID installiere das Paket php5-pgsql für Ubuntu 11.04.

Folgendes funktionierte: Ich habe phppgadmin aus den Ubuntu-Repositories installiert. Damit steht mir jetzt nicht nur ein Nizza-Tool zur Verfügung, sondern es wurden auch die für php erforderlichen Pakete installiert, um eine Verbindung zu postgresql herzustellen.

Danach stand alles in den Verbindungsparametern. Es wurde keine Verbindung zur Datenbank auf dem lokalen Server hergestellt, bis ich in pg_connect () den Verbindungs-Host, den Port, die Datenbank, den Benutzer und das Kennwort in dieser Reihenfolge definiert habe.

Ich weiß immer noch nicht, warum die Installation von php5-pgsql alleine PostgreSQL-Verbindungen nicht von PHP aus ermöglichte. Jede Eingabe dazu wäre hilfreich.

21
Adam

Installieren Sie das Paket php5-pgsql, um das Problem zu lösen . (abhängig von der Version ... php4-pgsql für php4)

apt-get install php5-pgsql

Denken Sie daran, Apache neu zu starten.

/etc/init.d/Apache2 restart

- Beachten Sie, dass es schwierig sein kann, wenn Sie Ihren Server nicht verwalten.

49

Derzeit verwende ich Ubuntu 16.04 LTS . Auch ich hatte beim Abrufen der Postgress-Datenbankwerte mit Php das gleiche Problem.

Meine PHP -Version ist 7.0, also habe ich den folgenden Befehl ausprobiert.

apt-get install php-pgsql 

Denken Sie daran, Apache neu zu starten.

/etc/init.d/Apache2 restart

Unten ist mein Code, könnte jemand davon profitieren:

- testdb.php

<html> 
    <body> 
        <table border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
                <td> 
                    Friend ID 
                </td> 
                <td> 
                     Name 
                </td> 

            </tr> 
        <?php 
        $db = pg_connect('Host=localhost dbname=postgres user=postgres password=root port=5432'); 

        $query = "SELECT * FROM account"; //account is name of table 

        $result = pg_query($query); 
        if (!$result) { 
            echo "Problem with query " . $query . "<br/>"; 
            echo pg_last_error(); 
            exit(); 
        } 

        while($myrow = pg_fetch_assoc($result)) { 
            printf ("<tr><td>%s</td><td>%s</td></tr>", $myrow['id'], htmlspecialchars($myrow['name']));
        } 
        ?> 
        </table> 
    </body> 
</html> 
4
MD Shahrouq

Die einzige Schlussfolgerung, die ich mir vorstellen kann, ist, dass phppgadmin alle benötigten Pakete installiert hat, um PHP5 mit PostgreSQL zu verbinden. Ich habe mir die Abhängigkeiten angesehen und glaube, ich habe sie entweder gar nicht oder nicht richtig installiert.

Ich brauche in dieser Arena keine Hilfe mehr, da ich ein funktionierendes Setup habe und mindestens eine Methode kenne, um diesen Punkt zu erreichen.

0
Adam