无法从php连接到Postgres - >调用未定义的函数pg_connect()

时间:2013-03-30 19:03:49

标签: php apache xampp

我发布此问题作为预览中的答案帖子没有帮助我。 我正在尝试从本地计算机连接到位于远程服务器上的DB postgres。 我正在使用Xampp和Netbeans IDE。

下面是我试图运行的代码:

        //attempt a connection
    $dbh = pg_connect("host=server_name port=5432 dbname=prototype1 user=leonidz password=****");
    if (!$dbh) {
    die("Error in connection: " . pg_last_error());
               }

这是错误消息:

Fatal error: Call to undefined function pg_connect() in C:\xampp\htdocs\PhpProject1\index.php on line 10
php.ini中的

我未提交: extension = php_pgsql.dll和extension = php_pdo_pgsql.dll

我还映射了extension_dir =“C:\ xampp \ php \ ext \” 并在更改后重新启动Apache服务器。

我不知道我还应该做些什么,请帮助。

4 个答案:

答案 0 :(得分:7)

在C:\ xampp \ php \ php.ini中,取消注释:

延长= php_pdo_pgsql.dll

延长= php_pgsql.dll

答案 1 :(得分:1)

在php.ini中,您需要取消注释

extension = php_pdo_pgsql.dll

extension = php_pgsql.dll

AND

extension =“ pgsql.so”

答案 2 :(得分:1)

转到PHP dir oepn php.ini文件,您将在其中找到这两行,只需从左侧删除分号,然后保存文件即可。接下来,停止您的xampp服务器,然后再次重新启动它,它将正常运行

;extension=pdo_pgsql
;extension=pgsql

答案 3 :(得分:0)

Fatal error: Uncaught Error: Call to undefined function pg_connect() in C:\xampp\htdocs\postgresql_dbcon\connection1.php:5 Stack trace: #0 C:\xampp\htdocs\postgresql_dbcon\view.php(4): include() #1 {main} thrown in C:\xampp\htdocs\postgresql_dbcon\connection1.php on line 5

connection1.php文件

<?php
    $db = pg_connect("host=localhost port=5432 dbname=db_test user=postgres password=123abc");//line 5
    if($db){
        echo "Connected\n";
    } else {
        echo "Error NotConnected\n";
    }
?>

view.php文件

<?php include "connection1.php";?>
<?php 
    $query = 'Select * FROM table2';
    $result = pg_query($db, $query);
    if (!$result) {
  echo "An error occurred.\n";
  exit;
}
while ($row = pg_fetch_row($result)) {
  $dbdata[]=$row;
}
$myJSON = json_encode($dbdata);
    echo $myJSON;
?>

如果在Windows操作系统中使用XAMPP,请转到已安装XAMPP的目录。遵循路径xampp/php/php.ini。在编辑器中打开php.ini文件,搜索";extension=pdo_mysql",将其替换为"extension=pdo_mysql",并将";extension=pdo_pgsql"替换为"extension=pdo_mysql"。然后保存文件并重新启动XAMPP。