| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
インストール手順OCI8 とともに PHP を構成OCI8 を構成する前に前述の 要件 節に 目を通してください。 OCI8 エクステンションを有効にするには、オプション --with-oci8 とともに PHP を構成します。 Web サーバーを開始する前に、一般的に OCI8 はいくつかの Oracle 環境変数(下記参照)を 必要とします。それらはライブラリの場所を指定したり、構成ファイルを指示したり、 Oracle ライブラリで使用する文字セットのような基本的ないくつかのプロパティを設定します。 あらゆる PHP プロセスが開始される 前にそれらの変数を設定しなければいけません。 PHP を構成したのと同じか、またはより最新の Oracle ライブラリのメジャー・バージョンとともに PHP バイナリをリンクしなければいけません。 例えば Oracle 11.2 ライブラリで OCI8 をビルドするなら、 PHP も Oracle 11.2 ライブラリとともにデプロイして実行すべきです。 PHP のアプリケーションは、それ以外のバージョンの Oracle データベースにも接続できます。 Oracle のクライアントとサーバーの間には、異なるバージョン間での互換性があるからです。 OCI8 を共有エクステンションとしてインストール構成 shared オプションでは、 PHP に動的にロードできるように OCI8 を共有ライブラリとしてビルドします。 共有エクステンションをビルドすることにより、 PHP のほかの部分に影響を与えることなく、 OCI8 を簡単に更新出来ます。 下記の構成オプションの一つを使って OCI8 を構成します
構成後、通常の PHP ビルド処理を続行します。例えば、 make install 。 OCI8 共有エクステンション oci8.so ライブラリが作成されます。 php.ini ファイルの extension_dir オプションで 示される、 PHP エクステンションディレクトリに手動で移動する必要があるでしょう。 OCI8 のインストールを完了するために、 php.ini を編集して行を追加します。
extension=oci8.so OCI8 を静的にコンパイルされたエクステンションとしてインストールPHP の configure 時に、下記の構成オプションの一つを使って OCI8 を含めます
構成後、通常の PHP ビルド処理を続行します。例えば、 make install 。 コンパイル成功後、 php.ini ファイルに oci8.so を追加する必要はありません。 追加のビルドステップは不要です。 PECL から OCI8 をインストール既存の PHP インストール内容に、» PECL を使って OCI8 エクステンションを自動または手動で追加できます。 自動インストールでは、これらのステップを続けます。
pecl コマンドが使えない場合の手動インストールでは、 PECL の OCI8 パッケージをダウンロードします。 例えば、 oci8-1.4.10.tgz。
自動または手動インストール後に php.ini ファイルを編集して、行を追加します。
extension=oci8.so php.ini の extension_dir ディレクティブを oci8.so がインストールされたディレクトリに 設定したことを確認してください。 Windows で OCI8 をインストールWindows では、 Oracle 10gR2 クライアント・ライブラリを使用する際は、 php.ini の extension=php_oci8.dll 行のコメントをはずします。 Oracle 11gR2 以降のクライアント・ライブラリを使用する際は、 extension=php_oci8_11g.dll あるいは extension=php_oci8.dll のコメントをはずします。 Oracle 12c のクライアントライブラリを使用する際は、 extension=php_oci8_12c.dll または extension=php_oci8_11g.dll または extension=php_oci8.dll を使います。 一度に有効にできるのは、これらのうちのどれかひとつだけです。 新しいバージョンの DLL のほうが、多くの機能を含んでいるでしょう。 PHP のバージョンによっては、これらの DLL がすべて含まれているとは限りません。 extension_dir を PHP エクステンション DLL を含むディレクトリに設定したことを確認してください。 もし Instant Client を使用する場合、システムの PATH 環境変数を Oracle ライブラリ・ディレクトリに設定します。 Oracle 環境を設定このエクステンションを使用する前に、 Web デーモンのユーザーのために Oracle の環境変数が 適切に設定されたか確認してください。 もし Web サーバーがブート時に自動起動される場合は、ブート時の環境も正しく設定されていることを 確認してください。
Red Hat Linux と変種では、 /etc/sysconfig/httpd の最後で変数を export してください。 Apache 2 を伴う他のシステムでは Apache bin ディレクトリーで envvars スクリプトを使用するかもしれません。 3番目のオプション、 httpd.conf の Apache SetEnv ディレクティブは、一部のシステムでは 動作するかもしれませんが、他のシステムでは不適切であることが知られています。 環境変数が正しく設定されたかチェックするには、 phpinfo() を使って Environment セクション (Apache Environment ではありません) に期待される変数が含まれるかどうかチェックしてください。 必要かもしれない変数が下記の表に含まれます。 どんな変数が使えるのかについての詳細は Oracle ドキュメントを参照してください。
トラブルシューティングOCI8 をインストールする際に最も一般的な問題は、 Oracle 環境が 正しく設定されないことです。通常、これは oci_connect() や oci_pconnect() 使用上の問題として現れます。 このエラーは Call to undefined function oci_connect() のような PHP エラーや、 ORA-12705 のような Oracle エラー、さらには Apache のクラッシュになるかもしれません。 この問題を解決するために、起動時のエラーについて Apache のログファイルをチェックして、 上記のセクションをご覧下さい。 ORA-12154 または ORA-12514 のようなネットワークエラーは Oracle のネットワーク・ネーミングまたは構成の問題を示唆する反面、 根本の原因は、 PHP 環境が誤って設定されたことや、 Oracle ライブラリが tnsnames.ora 構成ファイルの場所を指定できないためかもしれません。 Windows では、一つのマシン上に Oracle の複数のバージョンを持つと、 PHP が Oracle の正しいバージョンだけを使用することを確認するために注意を払わない限り、 すぐにライブラリのクラッシュを引き起こします。 特に Windows 上では、どのライブラリが検索されてロードされるか調べるユーティリティは、 欠けていたりクラッシュしているライブラリの問題の解決に役立ちます。
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「インストール手順」をGoogle検索
|