
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で質問しましょう!
似たような質問が見つかりました
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postgresqlの接続ポート5432か...
-
CSEを利用して、postgreSQLの勉...
-
起動しない
-
MySQLとPostgresの同時使用
-
AccessからOracleDBへのリンク...
-
access2000でのSQLサーバーへの...
-
Oracle-Perlの接続
-
phpMyadminのCSV抽出時の改行コ...
-
Access フォーム「使用可能」...
-
XPにOracle8.1.7でNet8が・・
-
ODBCタイムアウトエラー
-
exp、impについて
-
postgresのサービスが起動しな...
-
sqlにて0無しの月をフォーマッ...
-
オラクル8iを入れたいのですが
-
Oracle 10gがインストール出来...
-
アンインストール時がうまくい...
-
PostgreSQLが起動しない・・・
-
postgresqlでのトランザクショ...
-
Windows10でQuickTimeがインス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgresqlの接続ポート5432か...
-
PostgreSQLドライバの登録。 Ma...
-
PHPからのpostgresDBのテーブル...
-
音楽用語
-
Postgressのデータ一覧へのデー...
-
エラー表示
-
PostgreSQLの管理ツール
-
AS400へのphpによるJDBC接続
-
PHPでPostgresqlへアクセス
-
SQLでPostgreSQLサーバーを切断...
-
PostgreSQLのレプリケーション
-
PHPとPostgreSQLとの連携
-
PHPで、PostgreSQLのエラーコー...
-
Postgresのエラー一覧
-
PostgreSQLにphpから接続できない
-
SQL文で「あ」などの2バイトの...
-
windowsから見えない
-
PHPからposgresをオープンする文法
-
レンタルサーバーのDB
-
CSEを利用して、postgreSQLの勉...
おすすめ情報