构建 PHP 应用程序

要构建访问 an Autonomous Database 的 PHP 应用,首先需要配置开发系统来支持数据库访问,以便利用 Autonomous Database 的持续可用性和高性能功能。

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

配置 PHP 开发系统

要配置您的开发系统,使您的 PHP 应用能够利用 an Autonomous Database 的连续可用性和高性能功能,请执行以下步骤。

  1. 下载和安装 PHP。
  2. 下载并安装 Oracle Instant Client。
  3. 下载并安装 PHP OCI8。
  4. 下载数据库的客户端身份证明,并将其提供给 Oracle Instant Client。

使用须知

您的开发系统必须符合某些标准才能成功配置它。

  • 它必须有互联网接入。

  • 它必须具有对 Autonomous Database 的网络访问权限。

    要了解如何确保开发系统满足此要求,请参阅配置开发系统以访问数据库

下载和安装 PHP

下载并安装 PHP for your system's OS and architecture:

  • Oracle Linux:

    运行以下命令来下载和安装 PHP 以及下载和安装 PEAR 以获取 PHP 的 pecl 软件包管理命令:

    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
  • 其他 OSes 和体系结构:

    转到 PHP 安装和配置页,并按照系统 OS 和体系结构的说明进行操作。

下载和安装 Oracle Instant Client

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

  • Oracle Linux:

    运行以下命令以下载并安装 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。)

  • 其他 OSes 和体系结构:

    1. 转到 Oracle Instant Client 下载页,然后为您的系统的 OS 和体系结构选择下载。

    2. 在下载页面上,接受 Oracle Technology Network 许可协议,下载最新版本的 Basic Package(基本程序包)SDK Package(SDK 程序包),然后按照下载页面底部的说明进行安装。

下载并安装 PHP OCI8

下载并安装适用于您系统 OS 和体系结构的 PHP 的 OCI8 扩展:

  • Oracle Linux:

    运行以下命令以下载并安装最新版本的 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
  • 其他 OSes 和体系结构:

    1. 运行此命令

      pecl install oci8
    2. 将以下行添加到 PHP 安装的 php.ini 文件中:

      extension=oci8.so
      oci8.events = On

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

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

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

    1. 在 Web 浏览器中,登录到 Oracle Cloud 并导航到 Autonomous Database 的“详细信息”页面。

    2. 单击 DB Connection(数据库连接)

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

    4. 下载 Wallet 对话框中,在密码字段中输入 wallet 密码,并在确认密码字段中确认该密码。

      密码长度必须至少为 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 语句的代码

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

对于 PHP,在下载 Oracle OCI8 扩展并将其安装到 PHP 的过程中,将行 oci8.events = On 添加到 php.ini 文件时,可以启用 FAN。

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

例如:

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

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

其他资源

有关 Oracle OCI8 PHP 扩展的信息,请参阅 Oracle OCI8 页面。

有关将 PHP 与 Oracle Database 结合使用的信息,请参见 The Underground PHP and Oracle Manual