Linux上でphp5.3をOracleクライアントでコンパイルするプロジェクトなので、その手順と寄り道を簡単に紹介したいと思います。
1. OCI、OCCI、JDBC-OCI などの関連ファイルを含む Oracle クライアント パッケージをダウンロードします。
1.1 ダウンロードファイルアドレス
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
オペレーティングシステムのバージョンに応じて、対応するソフトウェアを選択します。必要なのはX86_64の選択です。
Linux x86-64 用インスタント クライアント
2. Oracle クライアント パッケージをインストールします。
プログラムパッケージをサーバー上の指定されたディレクトリにアップロードします
そして、最後に =="-I/usr/lib/oracle/11.1/client64 を追加して、再度 make すると成功します。
4. PHP.ini (/usr/local/webserver/php/etc/php.ini) を変更します
コードをコピーします
コードをコピーします
次に、php経由でOracleデータベースにアクセスできます。注意する必要があるのは、php下のOracleの接続文字列です。
コードをコピーします root ユーザーとして rpm をインストールします -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpmrpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm configure vim /etc/profile add export ORACLE_HOME= /usr/lib/oracle/11.1.0.1/client64export ORACLE_BASE=/usr/lib/oracle/11.1.0.1export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8 環境変数を設定した後、機械!構成ファイルを作成します。 ORACLE_HOME ディレクトリに network/admin ディレクトリを作成し、次の内容を含むファイル tnsnames.ora を作成します: vim /usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames.ora # tnsnames.ora ネットワーク構成ファイル: /opt/oracle10g/u01/network/admin/tnsnames.ora# Oracle 構成ツールによって生成されます。111 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168. 15.111)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dmsdb) ) ) ORACLE_HOME/bin ディレクトリをテストし、次のコマンドを実行します: [yleesun@centos bin]$ ./sqlplus zxd/zxd@111Copyright (c) 1982 、2011、Oracle。無断複写・転載を禁じます。接続先:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64ビット本番、パーティショニング、OLAP、データ マイニング、およびリアル アプリケーション テスト オプションを使用。SQL>テストは成功しました。注: 次のエラーが発生した場合: sqlplus: 共有ライブラリのロード中にエラーが発生しました: libsqlplus.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません。環境変数は有効になりません。
root ユーザーとしてインストール
rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
rpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm configure
vim /etc/profile
export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64
export ORACLE_BASE=/usr/lib/oracle/11.1.0.1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA を追加します。 AL 32UTF8
環境変数を設定した後、マシンを再起動する必要があります。
構成ファイルを作成する
ORACLE_HOME ディレクトリに次のディレクトリ network/admin を作成し、次の内容を含むファイル tnsnames.ora を作成します:
vim /usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames。 ora
# tnsnames.ora ネットワーク構成ファイル: /opt/oracle10g/u01/network/admin/tnsnames.ora
# Oracle 構成ツールによって生成されます。111 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) )(HOST = 192.168.15.111)(PORT = 1521)))
(CONNECT_DATA =
(SERVICE_NAME = dmsdb))) テスト
ORACLE_HOME/bin ディレクトリに移動し、コマンド
[yleesun@centos bin]$ を実行します。 /sqlplus zxd/zxd @111
Copyright (c) 1982, 2011, Oracle.All Rights Reserved.
接続先:
Oracle Database 11g Enterprise Edition リリース 11.2.0.1.0 - 64 ビット本番
パーティショニング、OLAP、データ マイニングを使用およびリアル アプリケーション テスト オプションSQL テスト成功!注:
次のエラーが発生した場合:
これは、環境変数が有効になっていないことを意味します。