ホームページ  >  記事  >  バックエンド開発  >  php が PDO を使用して Oracle データベースにアクセスする方法の詳細な説明

php が PDO を使用して Oracle データベースにアクセスする方法の詳細な説明

黄舟
黄舟オリジナル
2017-09-30 09:12:454649ブラウズ

POD 拡張機能は PHP5 で追加されました。この拡張機能は、データベースにアクセスするための PHP 組み込みクラス PDO を提供し、一貫性のないデータベース接続の問題を解決します。以下の記事では、PHP が PDO を使用して Oracle データベースにアクセスする手順を主に紹介します。必要な方は参照してください。

はじめに

PDO は、既存のデータベースのスケーリングの成功と失敗について最初から学んできました。 PDO のコードはまったく新しいため、PHP 5 の最新機能を活用するためにパフォーマンスをゼロから再設計する機会があります。

PDO は、RDBMS の独自の機能への簡単なアクセスを提供しながら、基盤として一般的なデータベース機能を提供するように設計されています。

PHP と Mysql は LAMP の標準的な組み合わせですが、会社のプロジェクトでは Mysql と Oracle をそれぞれランタイム ライブラリと単一ライブラリとして使用しているため、PHP を Oracle データベースに接続する必要があります。この記事では、PDO を介して Oracle データベースに接続する方法を紹介します。詳細については説明しません。

開発環境

まずは私が使用する環境について説明します:

  • RedHat (CentOS) 6.7

  • PHP5.6

  • Oracle 11g

php5. 6 の構築については、こちらを参照してください。

Linux 環境での Oracle のインストールは、こちらを参照してください。インスタント クライアントの Oracle 接続手順については、このブログ投稿の最後にある「謝辞」セクションを参照してください。

次の手順を開始する前に、上記の 3 つの環境が正しく構成され、利用可能であることを確認してください。


PDO_OCI をインストールします

php5.6.31 バージョンをインストールした場合は、pdo_oci モジュールが既に付属しているようですが、念のため再インストールしましょう。


ダウンロードして解凍します

$ wget https://pecl.php.net/get/PDO_OCI-1.0.tgz
$ tar -xvf PDO_OCI-1.0.tgz
$ cd PDO_OCI-1.0


構成ファイルを変更します

ディレクトリ内のconfig.m4ファイルを更新してOracle11gに適合させます

りー


コンパイル済み


現在のディレクトリで実行

# 在第10行左右找到与下面类似的代码,添加这两行:
elif test -f $PDO_OCI_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.11.2; then
 PDO_OCI_VERSION=11.2

# 在第101行左右添加这几行:
11.2)
 PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
 ;;

phpize は gcc コマンドに似ており、主に PHP プラグイン モジュールを生成するために使用されます。 phpize は php-deval モジュールに依存しています。コマンドを実行できない場合は、yum を使用して php-deval を自分でインストールしてください。

次のコマンドを実行して、インストールされているかどうかを確認できます。 php56w-deval-5.6.xxx かどうか、そうでない場合は、yum install php56w-deval をインストールしてください。

インストール


phpize コマンドが実行されると、Linux でソース コードを介してアプリケーションをインストールするためのconfigure やその他の一般的な標準ファイルを含む多くのファイルがディレクトリに生成されます。 次のコマンドを順番に実行します。

$ phpize
通常、作成時に、pdo_oci.c ファイルで次のプロンプトが表示されます。 解決策は、pdo_oci.c ファイルの 34 行目を変更して変更することです。 function_entry から zend_function_entry まで、保存して作り直すだけです。

ini ファイルを作成します


成功したら、pdo_oci.so モジュールが /usr/lib64/php/modules ディレクトリに生成されたことを示すメッセージが表示されます。必要なのは、php に通知することだけです。このモジュールを参照したいことを示します。


/etc/php.d ディレクトリに新しい ini ファイルを作成します: pdo_oci.ini、内容:


$ rpm -qa | grep php
この時点で、pdo_oci モジュールは php -m grep | でインストールされています。オシ。

OCI8 のインストール



次のステップは、oci8 モジュールをインストールすることです。


ダウンロードして解凍しますコマンドラインで次のコマンドを順番に実行します:

$ ./configure
$ make && make install

コンパイルしてインストールします
手順はpdo_oと似ています上記のCI:

pdo_oci.c:34: error: expected ‘=', ‘,', ‘;', ‘asm' or ‘attribute' before ‘pdo_oci_functions'

ini ファイルを作成します
同様に、/etc/php.d ディレクトリに oci8.ini を作成します。内容は次のとおりです:

extension=pdo_oci.so

Apache を再起動します
さようならphp モジュールをリロードするために Apache サーバーを再起動するのを忘れていました:

$ wget https://pecl.php.net/get/oci8-2.0.8.tgz
$ tar -xvf oci8-2.0.8.tgz
$ cd oci8-2.0.8

Web サイトのディレクトリに test.php ファイルを作成できます。 ファイルの内容は次のとおりです:

$ phpize
$ ./configure --with-oci8=shared
$ make && make install
次に、ページに移動します。出力された phpinfo 情報を確認し、pdo、pdo_oci、および oci8 モジュールの関連情報を確認します。

概要


参考文献と謝辞


php5.3クライアントがOracleに接続され、pdo_ociモジュールがインストールされました

PDO_OCI および OCI8 PHP 拡張機能を CentOS 6.4 64 ビットにインストールする

以上がphp が PDO を使用して Oracle データベースにアクセスする方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。