2

以前にこれを行ったことがありますが、テスト マシンに php、oci8、およびインスタント クライアントの複数のコピーが存在する結果となった長い試行錯誤のプロセスでした。それは動作します。

yumここまでで、remi リポジトリを使用するように設定し、完了yum install php php-oci8 php-pdoし、Oracle インスタント クライアントをダウンロードして完了しました。rpm -Uh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64\ \(1\).rpm

phpinfo()ただし、ページで行うと、まだoci8がモジュールの1つとしてリストされていません。

エラーは環境変数にあると思いますが、ORACLE_HOME何に設定する必要があるのか​​ わかりません。今私は持っています:

SetEnv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib
SetEnv ORACLE_HOME /usr/lib/oracle/11.2

/etc/httpd/conf/httpd.conf 内

前回これが機能したときは、php と php-oci8 をアンインストールし、機能するまで再インストールし続けたと思います。

私の作業サーバーには、次のように ORACLE_HOME が設定されています。 稼働中のサーバー

しかし、新しい動作していないものには ORACLE_HOME がここに設定されています:

稼働していないサーバー

Enviromentphpinfo()のセクションにある ORACLE_HOME を設定するにはどうすればよいですか?

4

2 に答える 2

1

試行錯誤の末、問題の答えを見つけました。PECLREMIリポジトリを使用する代わりにoci8をインストールyumしましたが、これはyumでもインストールできるはずです。

解決策: selinux をオフにします (許容モードにします)。これは実際にオラクルが推奨するソリューションです。正しくインストールするには、インストールの前にオフにする必要があります。正しく動作させるには、オフのままにしておく必要があります。

于 2011-06-13T21:54:54.787 に答える
0

何かを変更しない限り、Apache 環境に表示される内容が httpd.conf ファイルの内容と異なる理由はわかりませんが、環境変数をputenvputenv("ORACLE_HOME=" . $_SERVER['ORACLE_HOME']);で設定できるため、コードの先頭にあるようなものが機能する可能性があります。または、必要に応じて値をハードコーディングします。

于 2011-06-10T01:50:26.770 に答える