PDOでの接続について - PHPプロ!Q&A掲示板

304

  • 0P

PDOでの接続について

質問日時 / 2007年1月4日 23:15    回答数 / 3件

Questioner:  gonkosan  このエントリーをはてなブックマークに追加 

キーワード / キーワードが設定されていません

RedHatAS3.0にPHP5.1.4とApache2.0.58をインストールしました。

ApacheとPHPのインストール後にPHPINFOは表示できました。

しかし、PDOでOracle10gに接続にいくPHPファイルを
表示しようとすると
「ページが表示できません。」
となります。
↓このような記述のあるPHPファイル
$db = new PDO($dsn, $user, $password);

単純にECHOだけ書いたPHPファイルであれば、正常に表示されます。
また別のPC(RedHat)に同じバージョンのPHPとApacheをインストールした手順と
同じ手順で行いました。こちらは表示できています。
PHP.iniやhttpd.confをそのPCから持ってきても駄目でした。

apacheのconfigureは
--enable-modules=so
PHPのconfigureは(主なとこだけ)
--with-apxs2=/usr/local/apache2/bin/apxs
--enable-mbstring
--without-mysql 
--with-pdo-oci=/opt/oracle/product/10.2.0
PHPINFOにもPDOdriversのenabledにsqlite2,ociとなっており、
PDO Driver for OCI 8 and later enabledが表示されています。

phpinfoで違っていたのが、
ApacheEnvironmentのPATHと
PHP Variablesの_SERVER["PATH"]と_ENV["PATH"]の最初に
/usr/kerberos/sbin:/usr/kerberos/bin
が書かれてあったことです。
これが関係していますでしょうか?

どこを確認するか行き詰っている状態です。
よろしくお願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01kazu_kun$dsnはどう記述した? $userや$passwordは間違ってな
 ┗A01-1gonkosan>kazu_kunさん ありがとうございました。 確認し
  ┗A01-1-1kazu_kunhttp://www.php.net/manual/ja/ref.pdo-oci.connectio

回答一覧

並び替え:

A01
answererkazu_kun [1月5日 18:02]

$dsnはどう記述した?
$userや$passwordは間違ってない?

この意見に回答する

ツリーへ TOPへ

A01-1
replyergonkosan [1月8日 12:28]

>kazu_kunさん

ありがとうございました。
確認しました。
ユーザ名パスワードは間違っていませんでした。

dsnなんですけど、
listnerctl status
でみたサービス名がxxxx.co.jpとなっていたので、
ホスト名:1521/xxxx.co.jpにしたところ
ページが表示されません。となりました。
ホスト名:1521/xxxx
という風にすると
tnsのエラーが表示されます。

他に何かありますでしょうか?

よろしくお願いします。

この意見に回答する

ツリーへ TOPへ

A01-1-1 満足
replyerkazu_kun [1月9日 12:25]

http://www.php.net/manual/ja/ref.pdo-oci.connection.php
にdsnの記法が記述されていますが、このとおりに記述していますか?

Net Configuration Assistantで接続情報をtnsnames.oraに保存していると思うので、
oci:接続識別子
または、oci:=dbname=接続識別子
でいけると思います。

で、試してみたところ、tnsエラーが発生しました。

PDO_OCI DSNをキーワードに、少し調べて、
http://www.doyouphp.jp/php5/php5_pdo.shtml
で、環境変数ORACLE_HOMEがないとダメとあったので、追加したところ、接続はできました。

ただし、oci:=dbname=接続識別子の方でです。
oci:接続識別子では同じように、tnsエラーが発生しました。

win2000sp4
php 5.1.2

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
負荷時のmysql_connect()エラー
 このエントリーをはてなブックマークに追加 
A
これはPHPというよりOSまたはMySQLのコミュニティで質問されたほうがいいと思います。 ぱっと思いついた範囲で記すと MySQL等のDBに「ある時点において同時に接続可能なクライアントの最大数」に制限があるよう...

>>続きを読む

今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)