• ベストアンサー

sql.phpの作成

vi sql.phpで <? $con = pg_connect("dbname=ishihara"); if(!$con){ print "DBへの接続に失敗しました!\n"; exit; }else{ print "DBへの接続に成功しました!\n"; } ?> というスクリプトをつくって ブラウザでテストしたところ <? $con = pg_connect("dbname=ishihara"); if(!$con){ print "DB�吾��・膓���け�����障����!\n"; exit; }else{ print "DB�吾��・膓����������障����!\n"; } ?> という風に出てしまいます。 これってphpがインストール不完全なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tomy06
  • ベストアンサー率25% (58/224)
回答No.3

phpのインストールがうまくいっていない&文字コードが違っているのだと思います。 LINUXで普通にインストールすると、標準文字コードがEUCになっていると思います。 しかし、Fedoraの場合、UTF-8が標準なので、php.iniを編集する必要があると思います # configureに--enable-mbstring付けてありますよね? # httpd.confは編集済みですか?

ModenaSpeed
質問者

お礼

fedoraがUCFー8でないと文字化けすることを知りませんでした。 php.iniをUCFー8にすべて書き換えたら ちゃんと表示されるようになりました。 ありがとうございました。

ModenaSpeed
質問者

補足

アドバイスありがとうございます。 文字コードEUCーJPに変更しました。 --enable-mbstringも付けてあります。 文字コードはEUCで保存し、EUCでブラウザへ出力という 設定でよろしいでしょうか? もしかして出力はSHIFTーJIS?

その他の回答 (5)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.6

日本語を使うときは、ちゃんとcharsetを指定しましょう。 私の場合は、httpd.confで指定をOFFにして、html側のmetaタグでcharsetを 指定する方法が好みです。 あなたのsql.phpで使用している日本語にあわせた指定をしてください。 (euc-jp utf-8 など) (httpd.conf) AddDefaultCharset OFF <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head> <body> <?   $con = pg_connect("dbname=ishihara");   if(!$con){     print "DBへの接続に失敗しました!\n";     exit;   }else{     print "DBへの接続に成功しました!\n";   } ?> </body> </html> ブラウザ上には、以下のように表示されます。 (Postgresの設定をしていないので当然エラーがでますが) Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? in /usr/local/apache2/htdocs/test.php on line 7 DBへの接続に失敗しました!

ModenaSpeed
質問者

お礼

fedoraがUCFー8でないと文字化けすることを知りませんでした。 php.iniをUCFー8にすべて書き換えたら ちゃんと表示されるようになりました。 ありがとうございました。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.5

>phpが二つ入ってしまっているということで >不具合が生じているのでしょうか? PHPをソースからコンパイルした場合は、デフォルトで /usr/local/ 配下にインストールされますから、パッケージ版の PHPとはぶつかりません。 ソース版のPHPをコンパイルするときは、Apache2に含まれるapxsコマンドを 指定してください。 # ./configure --with-apxs2=/usr/local/apache2/bin/apxs # make # make install httpd.conf には以下の3行を追加して、Apache2を再起動してください。 「/usr/local/apache2/conf/httpd.conf」 LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps いきなり、postgresに接続する前に、簡単なスクリプトを実行して phpの動作確認をしましょう。 <? phpinfo(); ?> ブラウザで読み込んで、PHPの情報が表形式で表示できたら、とりあえず 動いています。

ModenaSpeed
質問者

補足

アドバイスありがとうございます。 <? phpinfo(); ?> は、テスト済みでちゃんと起動します。 <? print "<pre>"; print'whoami'; print "</pre> ?> もブラウザで確認すると whoami と出てしまいます。

  • liq
  • ベストアンサー率38% (228/595)
回答No.4

phpをソースからインストールされたのなら、インストール前にすでにパッケージでphpがインストールされていないことを確認されましたか? webサーバーはおそらくapacheで、apacheをインストール後phpをインストールされたと思いますがhttpd.confに Load Module php4_module libexec/libphp4.so というような行がありますか?

ModenaSpeed
質問者

補足

Load Module php4_module libexec/libphp4.so これは確認したのですが 入っています。 >phpをソースからインストールされたのなら、インストール前にすでにパッケージでphpがインストールされていないことを確認されましたか? phpが二つ入ってしまっているということで 不具合が生じているのでしょうか? 確認してみます。

noname#12943
noname#12943
回答No.2

こんばんは。 自分は↓ここをお気に入りに入れてます。 (まだまだPHP勉強中です)

参考URL:
http://wiz.syscon.co.jp/Lnxphp.html
ModenaSpeed
質問者

お礼

アドバイスありがとうございます。 道のりはまだまだ遠いようです。 仕事が手に付かないほど 熱中してやっています。 視力低下かもです。

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

sql.phpが、PHPファイルとして認識されていませんね。 インストールが不完全なのか、設定が不完全なのかは、ちょっとこの情報では分かりかねますが、どちらかでしょう。

ModenaSpeed
質問者

補足

設定方法とかって詳しく載ってるHPってありますか?

関連するQ&A

専門家に質問してみよう