php7 Oracleに接続 sourceからインストール

公開日: : php

php-logo

phpからORACLEのDBに接続するには2つのソフトウェアが必要

  • Instant Client
  • oci8

Instant Client

Instant Clientとは

Oracle Instant Clientとは何ですか。
Oracle Instant Clientとは、リモートの(またはローカルの)Oracle Databaseに接続するアプリケーションを作成し、実行する際に有用なOracle Databaseライブラリ、ツール、およびヘッダー・ファイルを再パッケージ化したものです。Instant Clientは、OCI、OCCI、Pro*C、JDBC、ODBCアプリケーションのほか、PHPのOCI8、Pythonのcx_Oracle、 Node.jsのnode-oracledb、Rubyのruby-oci8 APIなどのスクリプト言語ドライバを実行するために使用できます。SDKパッケージによって、OCIやOCCI APIを使用するCおよびC++プログラムのコンパイル用のヘッダー・ファイルが提供されます。SQL*Plus、Workload Replay Client、Data Pump、SQL*Loaderなどのユーティリティも、Instant Clientパッケージで利用可能です。入手可能なInstant Clientパッケージについては、Oracle Instant Clientのホームページを参照してください。

Q&A

ちなみに、oci8入れてなくても、Instant ClientだけいれとけばコマンドラインからはORACLEが操作できるらしいす。

download

x86_64Linux用 入手先

最新のバージョンしか見つからない。。。

インストール方法

公式

zipの場合、解凍するだけやな。。

SDKのも解凍する必要があると書いてある。

実際、SDKを入れずにphpを./configure したら以下の通り怒られた。

checking Oracle Instant Client SDK header directory... configure: error: Oracle Instant Client SDK header files not found

今回は上記のBasicとSDK以外にコマンドラインでORACLEに接続できるsql*plusを入れることとした。

そのため、以下の3つをダウンロードした。

  • instantclient-basic-linux.x64-18.5.0.0.0dbru.zip
  • instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip
  • instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip

それぞれを同じフォルダ内に配置し、unzipコマンドで解凍すると、「./instantclient_18_5/」というフォルダ内にすべてが解凍される。

 

この状態でphpの./configure –with-oci8=instantclient,/usr/local/lib/instantclient_18_5 (他にもオプションは付けた)を実施したら、うまくいった。

oci8

oci8についてはphpのソースに含まれていた。configureを実施すると、以下のログが出力された。


checking for Oracle Database OCI8 support... yes [1266/3721]

phpの ./configure のオプションには –with-oci8=instantclient,/usr/local/lib/instantclient_18_3 を付与している。

phpの公式サイト

によると

OCI8 エクステンションを有効にするには、オプション –with-oci8 とともに PHP を構成します。

とある。

また、

無料の » Oracle Instant Client ライブラリを使用している場合、こうします

./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib

とある。

Googleアドセンスレスポンシブ

関連記事

php-logo

phpで PHP Parse error: syntax error, unexpected ‘$’, expecting ‘)’ の原因

エラーメッセージの意味 簡単に説明すると ")"付近(直前)のソースコードに、想定外の

記事を読む

php-logo

php7の互換性チェック

qiitaの記事のとおりでうまくいった。(ありがとうございます!)   通すPat

記事を読む

php-logo

php ソースからインストールした際のオプションはphpinfoで見れる。

configure option の欄を見る 以下の部分。

記事を読む

php-logo

php require_onceで相対パスで指定する

  相対パスで指定する書き方 理由 require_onceしたファイル先で

記事を読む

php-logo

phpの変数などにつく「_」アンダースコアについて調べた

ちょこちょこいろんなところで見てモヤモヤしておりました。phpだけじゃなくて職場の先輩がbash

記事を読む

php-logo

phpのコンストラクタ

コンストラクタとは classがnewされた瞬間に実行されるfunction。 php3、p

記事を読む

php-logo

php =& イコールアンパサンド で参照渡し

意味 変数やオブジェクトなどを参照渡しする。 # 下記はどちらも同じ挙動になります $

記事を読む

php-logo

php require_onceでDocumentRootからのパスで指定する

やり方 相対パスで書く場合 こちら

記事を読む

php-logo

phpでOracleにセッション張りっぱなしになる

Oraの画像がでかい…笑 事象 仕事で相談を受けた。 「Webサイトへの同時アクセス数が大

記事を読む

php-logo

php make test でYou may have found a problem in PHP.が出ても続行できる場合があるらしい

make test後に出た失敗メッセージ  You may have found a pr

記事を読む

Googleアドセンスレスポンシブ

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Googleアドセンスレスポンシブ

php-logo
php =& イコールアンパサンド で参照渡し

意味 変数やオブジェクトなどを参照渡しする。 # 下記はど

php-logo
php5 varによる宣言

古い、人が作ったソース見てたらvarで変数宣言しているのがあって調

php-logo
php parent 親クラスのプロパティやメソッドにアクセスする

子クラスで使う すると親クラスのプロパティやメソッドにア

php-logo
phpの変数などにつく「_」アンダースコアについて調べた

ちょこちょこいろんなところで見てモヤモヤしておりました。phpだけ

数字と記号
Webブラウザだけでfavicon.ico作成

  1.基となる記号作成 こちら  

→もっと見る

PAGE TOP ↑