我发布此问题作为预览中的答案帖子没有帮助我。 我正在尝试从本地计算机连接到位于远程服务器上的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服务器。
我不知道我还应该做些什么,请帮助。
答案 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。