![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
OSはFedoraCore3を使用しています。
PHP5で作成したプログラムでPostgresqlへアクセスするのですが,全く応答がありません。
ブラウザで表示後、ソースを見ると
<html><body></body></html>
としか出ません。
ということはpg_connect("host=****...")がエラーの原因と考えています。
上記のプログラムの上にecho"ああ"と入力すると、ソースには「ああ」と表示があります。
PHPでFTP接続のプログラムを作成して実行するとこれは問題なく動きます。
やはり,Postgresqlの設定がおかしいのでしょうか?それともアクセスの方法が間違っているのでしょうか?
ホント困っています。よろしくお願いします。
No.4ベストアンサー
- 回答日時:
>Call to undefined function pg_connect()
定義されていないpg_connectという関数が呼ばれてます(使われてます)って意味ですね。
PHPでのpostgresql操作用モジュールが入っていない可能性が高いです。
ちょっとパッケージ名がそのものズバリはFedoraのは分かりませんが、pgsql.soがインストールされていないか、pgsql.soを読み込む設定になっていないのでしょう。
pgsql.soがまずあるかどうか確認してください。
なければ、インストールしてください。
あった場合、またはインストールした場合、php.iniに
extension = pgsql.so
を追記してください。
その後、apacheを再起動するなりして、php.iniの変更を適用させてください
この回答への補足
詳しくありがとうございます。
;extension=php_pgsql.dll
はあったので、「;」を外し有効にしました。
検索コマンドでpgsql.soを調べましたら出てきませんでした。検索にはfindを使いました。
No.5
- 回答日時:
pg_connect()が定義されていないというのなら、必要なコンポーネントが入ってないので、
yum install php-pgsql
を実行してみてください。
この回答への補足
yum install php-pgsqlを実行しましたが、エラーが出ました。
下記の通りです.
You have enabled checking of packages via GPG keys. This is a good thing.
However, you do not have any GPG public keys installed. You need to download
the keys for packages you wish to install and install them.
You can do that by running the command:
rpm --import public.gpg.key
For more information contact your distribution or package provider.
No.3
- 回答日時:
直接の回答ではありませんが、エラーの内容が表示されないのであれば、php.iniの「display_error = Off」を「display_error = On」に変更されてみてはいかがでしょうか。
外部に公開しているのであれば、いくらか問題があるかもしれませんが、ローカルでテストするのにはエラーを表示してくれる状態で開発を行ったほうが楽だと思います。
この回答への補足
[display_error = On]にしました。
下記のエラーが出ました。
Call to undefined function pg_connect()
これって、php.iniのPostgresの設定が有効になっていないから出ると解釈していいのでしょうか?
No.2
- 回答日時:
Fedoraは使っていないので、微妙に違うところがあるかもしれません。
postgresqlのログは、/var/log/内にpostgres.logなどpostgresとファイルネームに含まれるログファイルがあるか、/var/log/内にpostgresという名前のディレクトリがあり、その中に格納されているかのはずです。
(たぶん前者)
PHPのエラー詳細は、/var/log/内にhttpdまたはapacheが含まれるログファイルがあるか、httpdまたはapacheというディレクトリがありその中にログファイルが生成されているはずです。
また、Fedoraは3からデフォルトでseLinuxが有効になっているはずですが、有効のままでしょうか?
別に初心者なのはかまいませんが、マニュアルを見ればログファイルなんかはすぐに分かるはずです。
またgoogleなどの検索エンジンを使うって方法もあるかと。
この回答への補足
logのある場所、勉強になりました。ありがとうございます。
seLinuxを無効にしました。ディフォルトでは有効になっていました。seLinuxについてはもう少し勉強が必要です。セキュリティが良くなっているみたいのなのですが、理解に苦しみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postgresqlの接続ポート5432か...
-
PHPからのpostgresDBのテーブル...
-
音楽用語
-
Windows10でQuickTimeがインス...
-
Access フォーム「使用可能」...
-
exp、impについて
-
日本語入力について
-
MySQLとPostgresの同時使用
-
windows版postgresql 異なるバ...
-
IPアドレスでアクセス制限
-
モバイル・サーバー・リポジト...
-
sqlにて0無しの月をフォーマッ...
-
postgreSQLに複数行(改行され...
-
odbc接続処理が遅い
-
Windows10がインストールできま...
-
64bitサーバにOracleが作成でき...
-
FileMaker Proについて
-
ORA-12571 パケット・ライター障害
-
postgresqlでのトランザクショ...
-
SQL ExpressエディションのCPU...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgresqlの接続ポート5432か...
-
CASEの中にCASE
-
AS400へのphpによるJDBC接続
-
CSEを利用して、postgreSQLの勉...
-
PostgreSQLのデータ
-
PHPからのpostgresDBのテーブル...
-
Postgresのエラー一覧
-
音楽用語
-
FedoraCore4 に PHPとPostgre...
-
MySQLとPostgresの同時使用
-
postgresqlでのトランザクショ...
-
Windows10でQuickTimeがインス...
-
Access フォーム「使用可能」...
-
PostgreSQLで集約関数をネスト...
-
odbc接続処理が遅い
-
windows版postgresql 異なるバ...
-
MySQLがインストールできない
-
ORA-12571 パケット・ライター障害
-
vbsでからプログラムを、オプシ...
-
Oracle-Perlの接続
おすすめ情報