0

私はこれを手早くします。

Fedora 19 システムに Oracle 11g (適切なデータベース、ユーザーなど)、Apache 2.4.6、および PHP 5.5.4 をインストールしました。

PHPをOracleに接続したかったのです。私が本当にやりたかったのは、MDB2_Driver_oci8 をダウンロードすることでした。これは簡単だと思いましたが、その前に、PHP でそのプラグインを有効にする必要があるため、次のようにしました。

  • 次の方法でoci8をインストールしようとしました: pecl install oci8
  • それが最初の数回は正確に機能しなかったとき、何らかの理由で「開発ツール」が必要であることがわかりました-yum groupinstall "Development Tools"
  • その後、PHP は実際には oci8 をサポートしていないことがわかりました。これは PHP Devel です。そのため、それもインストールする必要がありましたyum install php-devel
  • そして、やっと oci8 をインストールすることができました。それは Oracle ディレクトリを要求し、それがそれでした。しかし、次のように述べています。
    Configuration option 'php_ini' is not set to php.ini location
    You should add 'extensions=oci8.so' to php.ini

最初に、locate oci8.so/usr/lib64/php/modules/ で見つけました。2
番目に、指示された内容を php.ini ファイルに追加しました。
3 番目に、通常の php_info() テスト ページを確認しました - OCI8 については言及されていません。ええとああ。
4 番目に、モジュールの 1 つとしてphp -i とphp -mリストされた oci8 の両方を実行します。変。
必死になって、先に進み、MDB2_Driver_oci8 をダウンロードしました。多分それは問題を解決するでしょう。いいえ。

PHP Web ページをロードすると、次のメッセージが返されました:エラー メッセージ :
拡張機能 oci8 は PHP にコンパイルされていません。

変。そして、エラー ログを確認することにしました
。行 0 で不明

そして今、私は立ち往生しています。php.ini に入ろうとしたところ、extension_dirコメントアウトされていることがわかりました。私はそれを元に戻しましたが、それは物を壊しているように見えました.

注意事項:

  • PHPを構成してoci8をインストールする方法については、この(リンク)ガイドに従いました。
  • ./configure --with-oci8動作しません。Fedora は、そのようなディレクトリはないと言っています。
  • Web ページ ファイルと実際のサーバーの両方が同じ PC にあるため、Oracle クライアント ファイルはインストールしませんでした。
  • extension_dir は、php.ini でデフォルトでコメントアウトされています。

これは、すでに存在し、機能しているが死にかけているセットアップの複製に関する一連の問題の中で、私の問題の 1 つにすぎません。問題を解決したいときはいつでも、最初に X を実行する必要があるようです。そして、X を実行することで、独自の問題を抱えている Y を実行することで解決しなければならない別の問題が明らかになります。

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

0

この質問が少し古いことは知っていますが、他の人が解決策を探しに来る場合に備えて、ここに書いています。

PHP 拡張機能ディレクトリ

PHP 拡張機能のディレクトリを取得するには、次のコマンドを実行します。

php-config --extension-dir

オラクルの構成

Oracle の config コマンドを実行するときは、Oracle ホーム ディレクトリを指定する必要があります (これは、ORACLE XE がインストールされていることを前提としています)。

./configure -with-oci8=shared,$ORACLE_HOME/xe

SELinux ポリシー

達成しようとしているものをサポートするために、SELinux ポリシーを適応させる必要があります。完全に無効にすることはお勧めしません。

Fedora システムで、次を実行してみてください。

which audit2allow

見つからないことを示すエラーが表示された場合は、audit2allowこのパッケージをインストールする必要があります。

yum install policycoreutils-python

このパッケージを入手したら、監査ログ ファイルをパイプaudit2allowして、ポリシー ファイルを作成します。

grep httpd /var/log/audit/audit.log | audit2allow -m httpd > http.te

これにより、人間が判読できるファイルが作成http.teされ、SELinux 構成にどのようなポリシーが追加されるかを確認できます。変更に問題がなければ、これらのコマンドを実行します (次のコマンドの大文字の M と前の小文字の m に注意してください) 。

grep httpd /var/log/audit/audit.log | audit2allow -M httpd
semodule -i httpd.pp

この実行には数秒かかる場合があります。次のコマンドを実行して、ポリシーがインストールされたことを確認できます。

semodule -l | grep httpd

oci8.so プラグインをロードできるように、httpd を再起動する必要があります。

service httpd restart

HTH

于 2014-12-11T14:50:26.370 に答える
-1

インターネットでたくさん読んだ後、このページを見つけました。これは、SELinux を無効にして再起動する必要があることを示しています。

それはトリックをしました。

于 2013-11-12T03:59:35.463 に答える