PHPアプリケーションの構築

Autonomous AI DatabaseにアクセスするPHPアプリケーションを構築するには、まず開発システムを構成して、Autonomous AI Databaseの継続的な可用性および高パフォーマンスの機能を利用できるデータベース・アクセスをサポートするように構成します。

開発システムを構成した後、継続的な可用性および高パフォーマンスの機能を利用するように、アプリケーション内のデータベース接続およびSQL文をコーディングします。

PHP開発システムの構成

PHPアプリケーションがAutonomous AI Databaseの継続的な可用性および高パフォーマンスの機能を利用できるように開発システムを構成するには、これらのステップを実行します。

  1. PHPをダウンロードしてインストールします。

  2. Oracle Instant Clientをダウンロードしてインストールします。

  3. PHP OCI8をダウンロードしてインストールします。

  4. データベースのクライアント資格証明をダウンロードして、Oracle Instant Clientで使用できるようにします。

開始する前に

開発システムを正常に構成するためには、それが特定の基準を満たしている必要があります。

PHPのダウンロードとインストール

使用しているシステムのOSおよびアーキテクチャ用の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 Basicパッケージをダウンロードしてインストールします:

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

(すべてのインスタント・クライアント・パッケージのリストを確認するには、http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.htmlに移動します。)

PHP OCI8のダウンロードとインストール

使用しているシステムのOSおよびアーキテクチャ用の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ファイルをコンピュータ上の安全なディレクトリにダウンロードします。

    このzipファイルは、Oracle Cloudコンソールのデータベースの「詳細」ページからダウンロードできます。このページへのアクセスを許可するOracle Cloudユーザー・アカウントを持っている場合は、次のように資格証明をダウンロードします。そのようなアカウントを持っていない場合は、データベースの管理者から、zipファイルとパスワード(zipファイルの保護に使用された)を一緒に取得する必要があります。

    1. WebブラウザでOracle Cloudにサインインし、Autonomous AI Databaseの「詳細」ページに移動します。

    2. 「DB Connection」をクリックします。

    3. 「データベース接続」ページで「ダウンロード」をクリックします。

    4. 「Download Wallet」ダイアログで、「Password」フィールドにウォレット・パスワードを入力し、「Confirm Password」フィールドにパスワードを確認します。

      パスワードは8文字以上の長さで、少なくとも1つの文字と、1つの数字または1つの特殊文字を含める必要があります。

    5. 「ダウンロード」をクリックして、クライアント資格証明zipファイルを安全なディレクトリに保存します。

  2. zipファイルをダウンロードした後は、次のステップに従います:

    1. クライアント資格証明zipファイルを解凍します。

    2. クライアント資格証明内に提供されているsqlnet.oraファイルを編集し、"?/network/admin"を、クライアント資格証明の解凍先ディレクトリのフルパスに置き換えます。例: 変更前:

       (DIRECTORY="?/network/admin")
      

      変更後:

       (DIRECTORY="/users/jdoe/adbcredentials")
      
    3. TNS_ADMIN環境変数を作成し、その値をクライアント資格証明の解凍先ディレクトリのフルパスに設定します。

データベース接続およびSQL文のコーディング

Autonomous AI DatabaseへのPHPアプリケーションの接続をサポートするよう開発システムを構成したら、次のガイドラインに従って、アプリケーションのデータベース接続の高パフォーマンスおよび継続的な可用性を実現します:

PHPの場合、PHPのOracle OCI8拡張機能のダウンロードおよびインストールの一部としてoci8.events = On行をphp.iniファイルに追加するときに、FANを有効にします。

OCI8インタフェースは、特定の接続プーリング・コールを公開しません。かわりに、内部で接続プールを使用します。接続プーリングのメリットを得るには、oci_pconnect()ファンクションを使用して、複数のHTTPリクエストにわたって使用できる永続的な接続を作成または再利用します。

たとえば:

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

この例では、tp_tlsデータベース・サービスへの永続的な接続を作成します。

関連コンテンツ