本文介绍如何把PHP应用程序连接到PolarDB兼容Oracle数据库。

前提条件

  • 已经在PolarDB集群创建用户,如何创建用户请参见创建数据库账号
  • 已经将需要访问PolarDB集群的主机IP地址添加到白名单,如何添加白名单请参见设置集群白名单

Windows环境准备

  1. 下载并安装WampServer,具体操作请参见WampServer官网
  2. 启动pgsql插件。
    1. 修改php.ini文件。
    2. 删除以下信息中的分号;

      删除前:

      ;extension=php_pgsql.dll
      ;extension=php_pdo_pgsql.dll

      删除后:

      extension=php_pgsql.dll
      extension=php_pdo_pgsql.dll
  3. C:\wamp\bin\php\php5.6.40(本例使用的是php5.6.40版本,以实际安装版本为准)目录下的libpq.dll文件复制到C:\windows\system32\
  4. 重启Apache。

Linux环境准备

  1. 安装php-pgsql.x86_64驱动。
    sudo yum install php-pgsql.x86_64
  2. 编辑php.ini文件。
    vim /etc/php.ini
  3. php.ini文件中添加以下内容。
    extension=php_pgsql.so

连接PolarDB

完成Windows或Linux环境部署后,您可以通过编写PHP应用连接PolarDB数据库。

以下将通过一段PHP代码详细介绍连接PolarDB数据库的过程。

<?php
 $host    = "host=xxxx";
 $port    = "port=xxxx";
 $dbname   = "dbname=xxxx";
 $credentials = "user=xxxx password=xxxxx";
 $db = pg_connect( "$host $port $dbname $credentials" );
 if(!$db){
  echo "Error : Unable to open database\n";
 } else {
  echo "Opened database successfully\n";
 }
 $sql =<<<EOF
  select * from pg_roles;
EOF;
 $ret = pg_query($db, $sql);
 if(!$ret){
  echo pg_last_error($db);
 } else {
  echo "Records created successfully\n";
 }
 $results = pg_fetch_all($ret);
 print_r($results);
 pg_close($db);
?>

在以上代码示例中,PolarDB连接信息由hostportdbnamecredentials组成,具体信息请参见下表。

参数 示例 说明
host "host=xxxxxx" PolarDB集群的连接地址,如何查看连接地址请参见查看或申请连接地址
port "port=1521" PolarDB集群的端口,默认为1521。
dbname "dbname=xxxx" 需要连接的数据库名称。
credentials "user=xxx password=xxxx" PolarDB集群的用户名和对应的密码。

更多关于PHP接口的相关介绍请参见PHP官方文档