构建 PHP 应用程序

要构建访问自治 AI 数据库的 PHP 应用程序,首先需要配置开发系统以支持数据库访问,以利用自治 AI 数据库的持续可用性和高性能功能。

配置开发系统后,您可以在应用程序中编写数据库连接和 SQL 语句的代码,以利用持续可用性和高性能功能。

配置您的 PHP 开发系统

要配置开发系统以便 PHP 应用可以利用自治 AI 数据库的持续可用性和高性能功能,请执行以下步骤。

  1. 下载并安装 PHP。

  2. 下载并安装 Oracle Instant Client。

  3. 下载并安装 PHP OCI8。

  4. 下载数据库的客户端身份证明并将其提供给 Oracle Instant Client。

使用须知

您的开发系统必须满足某些标准才能成功配置。

下载和安装 PHP

下载并安装适用于系统操作系统和体系结构的 PHP:

sudo dnf install -y oracle-release-el8 oracle-php-release-el8
sudo dnf install -y php php-devel php-xml dtrace-utils
wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar

下载和安装 Oracle Instant Client

下载并安装适用于系统 OS 和体系结构的 Oracle Instant Client 基本程序包:

sudo dnf -y install oracle-release-el8
sudo dnf -y install oracle-instantclient21.13-basic oracle-instantclient21.13-devel

(如果要查看所有 Instant Client 软件包的列表,请转至 http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html 。)

下载和安装 PHP OCI8

下载并安装适用于系统操作系统和架构的 PHP OCI8 扩展:

sudo PHP_DTRACE=yes pecl install oci8
sudo sh -c "echo extension=oci8.so > /etc/php.d/20-oci8.ini"
sudo sh -c "echo oci8.events = On > /etc/php.d/20-oci8.ini"

如果您的应用程序需要 Oracle 环境变量,请将其添加到 /etc/sysconfig/httpd 配置文件中,例如:

NLS_LANG=AMERICAN_AMERICA.AL32UTF8
NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
ORA_SDTZ=UTC

如果添加此类变量,请重新启动 Apache HTTP 服务器以读取新变量:

sudo systemctl restart httpd

下载并安装数据库的客户端身份证明

  1. 将包含数据库客户端身份证明的 zip 文件下载到计算机上的安全目录。

    可以从 Oracle Cloud 控制台中数据库的“详细信息”页下载此 zip 文件。如果您具有允许您访问此页的 Oracle Cloud 用户账户,请按如下方式下载身份证明。如果您没有这样的帐户,则需要从数据库的管理员那里获取 zip 文件,以及用于保护 zip 文件的密码。

    1. 在 Web 浏览器中,登录到 Oracle Cloud 并导航到自治 AI 数据库的“详细信息”页面。

    2. 单击 DB Connection

    3. 数据库连接页上,单击下载

    4. Download Wallet(下载 Wallet)对话框中,在 Password(口令)字段中输入 wallet 密码,然后在 Confirm Password(确认口令)字段中输入该口令。

      密码长度必须至少为 8 个字符,并且必须至少包含 1 个字母和 1 个数字字符或 1 个特殊字符。

    5. 单击 Download(下载)以将客户端凭据 zip 文件保存到安全目录。

  2. 下载 zip 文件后,请执行以下步骤:

    1. 解压缩客户端身份证明 zip 文件。

    2. 编辑客户端身份证明中提供的 sqlnet.ora 文件,将 "?/network/admin" 替换为您解压缩客户端身份证明的目录的完整路径;例如,更改:

       (DIRECTORY="?/network/admin")
      

      到:

       (DIRECTORY="/users/jdoe/adbcredentials")
      
    3. 创建 TNS_ADMIN 环境变量,将其值设置为解压缩客户机凭证的目录的完整路径。

代码数据库连接和 SQL 语句

将您的开发系统配置为支持与自治 AI 数据库的 PHP 应用程序连接后,请遵循以下准则,以实现应用程序与数据库的连接的高性能和持续可用性:

For PHP, you enable FAN when you add the line oci8.events = On to the php.ini file as part of downloading and installing the Oracle OCI8 extension to PHP.

OCI8 接口不会公开特定的连接池调用。而是在内部使用连接池。要实现连接池的好处,请使用 oci_pconnect() 函数创建或重用跨 HTTP 请求保留的持久连接。

例如:

$connection = oci_pconnect("appuser", getenv("MY_PASSWORD_ENV_VAR"), "tp_tls");

此示例创建到 tp_tls 数据库服务的持久连接。

相关内容