构建 PHP 应用程序
要构建访问自治 AI 数据库的 PHP 应用程序,首先需要配置开发系统以支持数据库访问,以利用自治 AI 数据库的持续可用性和高性能功能。
配置开发系统后,您可以在应用程序中编写数据库连接和 SQL 语句的代码,以利用持续可用性和高性能功能。
配置您的 PHP 开发系统
要配置开发系统以便 PHP 应用可以利用自治 AI 数据库的持续可用性和高性能功能,请执行以下步骤。
-
下载并安装 PHP。
-
下载并安装 Oracle Instant Client。
-
下载并安装 PHP OCI8。
-
下载数据库的客户端身份证明并将其提供给 Oracle Instant Client。
使用须知
您的开发系统必须满足某些标准才能成功配置。
-
它必须有互联网接入。
-
它必须具有对自治 AI 数据库的网络访问权限。
请参见 Configuring a Development System to Access the Database ,了解如何确保开发系统满足此要求。
下载和安装 PHP
下载并安装适用于系统操作系统和体系结构的 PHP:
-
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
-
其他 OS 和体系结构:
转到 PHP 的 Installation and Configuration 页面,并按照系统的 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 。)
-
其他 OS 和体系结构:
-
转到 Oracle Instant Client 下载页面,然后选择系统的操作系统和体系结构的下载。
-
在下载页面上,接受 Oracle Technology Network 许可协议,下载最新版本的 Basic Package 和 SDK Package ,然后按照下载页面底部的说明进行安装。
-
下载和安装 PHP OCI8
下载并安装适用于系统操作系统和架构的 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
-
其他 OS 和体系结构:
-
运行此命令:
pecl install oci8 -
将以下行添加到 PHP 安装的
php.ini文件中:extension=oci8.so oci8.events = On
-
下载并安装数据库的客户端身份证明
-
将包含数据库客户端身份证明的 zip 文件下载到计算机上的安全目录。
可以从 Oracle Cloud 控制台中数据库的“详细信息”页下载此 zip 文件。如果您具有允许您访问此页的 Oracle Cloud 用户账户,请按如下方式下载身份证明。如果您没有这样的帐户,则需要从数据库的管理员那里获取 zip 文件,以及用于保护 zip 文件的密码。
-
在 Web 浏览器中,登录到 Oracle Cloud 并导航到自治 AI 数据库的“详细信息”页面。
-
单击 DB Connection 。
-
在数据库连接页上,单击下载。
-
在 Download Wallet(下载 Wallet)对话框中,在 Password(口令)字段中输入 wallet 密码,然后在 Confirm Password(确认口令)字段中输入该口令。
密码长度必须至少为 8 个字符,并且必须至少包含 1 个字母和 1 个数字字符或 1 个特殊字符。
-
单击 Download(下载)以将客户端凭据 zip 文件保存到安全目录。
-
-
下载 zip 文件后,请执行以下步骤:
-
解压缩客户端身份证明 zip 文件。
-
编辑客户端身份证明中提供的
sqlnet.ora文件,将"?/network/admin"替换为您解压缩客户端身份证明的目录的完整路径;例如,更改:(DIRECTORY="?/network/admin")到:
(DIRECTORY="/users/jdoe/adbcredentials") -
创建
TNS_ADMIN环境变量,将其值设置为解压缩客户机凭证的目录的完整路径。
-
代码数据库连接和 SQL 语句
将您的开发系统配置为支持与自治 AI 数据库的 PHP 应用程序连接后,请遵循以下准则,以实现应用程序与数据库的连接的高性能和持续可用性:
-
使用连接池
-
启用 FAN(快速应用程序通知)。
-
使用与要执行的操作最匹配的预定义数据库服务。有关预定义数据库服务的信息,请参见 Predefined Database Service Names for Autonomous AI Database 。
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 数据库服务的持久连接。
相关内容
-
有关 Oracle OCI8 扩展到 PHP 的信息,请参阅 Oracle OCI8 页面。
-
有关将 PHP 与 Oracle Database 一起使用的信息,请参见 The Underground PHP and Oracle Manual 。