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 つの環境が正しく構成され、利用可能であることを確認してください。
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
通常、作成時に、pdo_oci.c ファイルで次のプロンプトが表示されます。 解決策は、pdo_oci.c ファイルの 34 行目を変更して変更することです。 function_entry から zend_function_entry まで、保存して作り直すだけです。
ini ファイルを作成します
$ rpm -qa | grep phpこの時点で、pdo_oci モジュールは php -m grep | でインストールされています。オシ。
次のステップは、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
$ phpize
$ ./configure --with-oci8=shared
$ make && make install
次に、ページに移動します。出力された phpinfo 情報を確認し、pdo、pdo_oci、および oci8 モジュールの関連情報を確認します。
概要
参考文献と謝辞
PDO_OCI および OCI8 PHP 拡張機能を CentOS 6.4 64 ビットにインストールする
以上がphp が PDO を使用して Oracle データベースにアクセスする方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。